这个
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"
}
]
你可以用这个:
jq '[{"c":(.a[].b[].c)}]' file.json
$ jq [.[][][][]] <<< "$JSON"
[
{
"c": "xxx"
},
{
"c": "yyy"
},
{
"c": "zzz"
}
]
要么:
$ jq '[.. | select(has("c")?)]' <<< "$JSON"
[
{
"c": "xxx"
},
{
"c": "yyy"
},
{
"c": "zzz"
}
]
这样做:
jq '[ .a[][][] ]'