2017-02-11 15 views
3

私の要求は簡単ではありませんが、私はそれを行う方法を見つけることができませんでした。JSONL(1行に1つの独立したJSONオブジェクト)を出力するにはjqを使用する方法

[ 
    { 
     "foo": 1, 
     "bar": 2 
    }, 
    { 
     "foo": 3, 
     "bar": 4 
    }, 
    (...) 
] 

と私は出力と同じのJSONLバージョンが欲しい、1行に1つのオブジェクトではなく、配列別名:私は、入力としてJSONオブジェクトの配列を持っている

{ "foo": 1, "bar": 2 } 
    { "foo": 3, "bar": 4 } 
    (...) 

これはではありませんそれが配列を維持し、私を与えるとして、--compact-outputを使用するのと同じ:

[ { "foo": 1, "bar": 2 }, { "foo": 3, "bar": 4 }, (...) ] 

は、事前にありがとうございます。

答えて

-2

が見つかり:それはあなたがまた--raw-outputを使用する必要が

map(tostring) | reduce .[] as $item (""; . + $item + "\n") 

です。

5

元の質問への答えは使用することです[]一緒に-cと:。

$ jq -c '.[]' 
関連する問題