此
echo '{"a":[{"b":[{"c":"xxx"}]},{"b":[{"c":"yyy"},{"c":"zzz"}]}]}' |
jq '.a[].b | map({"c": .c})'
产生这个:
[
{
"c": "xxx"
}
]
[
{
"c": "yyy"
},
{
"c": "zzz"
}
]
如何获得单个输出数组,如:
[
{
"c": "xxx"
},
{
"c": "yyy"
},
{
"c": "zzz"
}
]
答案 0 :(得分:2)
$ jq [.[][][][]] <<< "$JSON"
[
{
"c": "xxx"
},
{
"c": "yyy"
},
{
"c": "zzz"
}
]
OR:
$ jq '[.. | select(has("c")?)]' <<< "$JSON"
[
{
"c": "xxx"
},
{
"c": "yyy"
},
{
"c": "zzz"
}
]
答案 1 :(得分:1)
您可以使用:
jq '[{"c":(.a[].b[].c)}]' file.json
答案 2 :(得分:1)
这样做:
jq '[ .a[][][] ]'