2017-02-11 72 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 '.[]' 
相关问题