【发布时间】:2018-08-23 13:34:03
【问题描述】:
尝试为每个组获取存储在 items 数组中的唯一值。不知何故,它总是混合在一起......
我的 JSON 如下所示:
{
"start": 1534425916,
"stop": 1535030716,
"groups": [
{
"group": "transmission",
"data": {
"events": 665762,
},
"items": [
{
"item": "manualni",
"data": {
"events": 389158,
}
},
{
"item": "automaticka",
"data": {
"events": 276604,
}
}
]
},
{
"group": "vat",
"data": {
"events": 671924,
},
"items": [
{
"item": "ne",
"data": {
"events": 346221,
}
},
{
"item": "ano",
"data": {
"events": 325703,
}
}
]
}
]
}
想要的结果如下:
{
"id": "transmission",
"value": [
"manualni",
"automaticka",
]
}
{
"id": "vat",
"value": [
"ne",
"ano"
]
}
在命令行上尝试使用此过滤器:
| jq '{id: .groups[].group, value: [.groups[].items[].item]}'
导致上述混淆的结果:
{
"id": "transmission",
"value": [
"manualni",
"automaticka",
"ne",
"ano"
]
}
{
"id": "vat",
"value": [
"manualni",
"automaticka",
"ne",
"ano"
]
}
知道如何在这里接收唯一值吗?提前致谢!
【问题讨论】:
标签: json command-line terminal jq