2017-02-11 74 views
3

我的請求聽起來微不足道,但我找不到辦法做到這一點。我已經作爲輸入JSON對象的數組:如何使用jq輸出JSONL(每行一個獨立的JSON對象)

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

和欲作爲輸出每行是相同的,又名一個對象的JSONL版本,而不是一個數組:

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

這是一樣使用--compact-output,因爲這將保護陣列,並給我:

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

預先感謝您。

回答

-2

發現:這是

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

你還需要使用--raw-output

5

答案原來的問題是使用[]連同-c:

$ jq -c '.[]' 
相關問題