我想使用jq
将json对象流放入json数组中,例如,来自
{"a":1}
{"b":2}
到
[{"a":1},
{"b":2}]
但这不起作用
echo '
{"a":1}
{"b":2}
'|jq '[.]'
因为我得到了
[
{
"a": 1
}
]
[
{
"b": 2
}
]
答案 0 :(得分:23)
使用-s
选项填充它。
$ jq -s '.' <<< '{ "a": 1 } { "b": 2 }'
[
{
"a": 1
},
{
"b": 2
}
]
作为另一种选择,使用inputs
读取值是一种更灵活的选择。您通常希望将此选项与-n
选项结合使用,以防止第一个值过早消耗。
$ jq -n '[inputs]' <<< '{ "a": 1 } { "b": 2 }'