我的数据采用以下简化格式
[
{
"a": "foo",
"b": [
{
"x": 1,
"y": true
}
]
},
{
"a": "foo",
"b": [
{
"x": 1,
"y": true
},
{
"x": 99,
"y": false
}
]
},
{
"a": "bar",
"b": []
}
]
我正在尝试获取每个 unique的所有条目数。我尝试先按 a 分组,这样至少可以得到“unique ”部分。但是,我不知道如何获取group_by 结果中所有条目数。单纯按like分组是行不通的。b
a
jq '. | group_by(.a)[]
a
b
b
jq '. | group_by(.a)[] | group_by(.b)[]'
或者,我尝试过jq -n 'jq '[ .[] | {a, n:(.b|length)} ] | group_by(.a)'
但仍然不知道如何跨条目计数。
有什么建议吗?本例的最终答案是 3 个b
条目foo
,0 个b
条目bar