最近两天我一直在阅读JQ-s文档,却不知道如何提取值并将它们放在一起。
我有一些卷曲输出:
...
{
"key": "Agreement",
"doc_count": 1603,
"level_cnt": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "INFO",
"doc_count": 1458
},
{
"key": "ERROR",
"doc_count": 145
}
]
}
}
...
任务是获取第一个键,并将其与下一个键及其值组合:
Agreement
INFO:1458
ERROR:145
麻烦的是,当我尝试解析必要的键时,它们的值又相互融合了:
jq '.aggregations.controller_cnt.buckets[].key, .aggregations.controller_cnt.buckets[].level_cnt.buckets[].key, .aggregations.controller_cnt.buckets[].level_cnt.buckets[].doc_count
"Agreement"
"INFO"
"ERROR"
1469
149
如何构建此jq查询?
先谢谢!
答案 0 :(得分:2)
只需将其映射到字符串即可。
jq --raw-output '.key, ( .level_cnt.buckets[] | "\(.key):\(.doc_count)" )'
使用以下输入:
{
"key": "Agreement",
"doc_count": 1603,
"level_cnt": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "INFO",
"doc_count": 1458
},
{
"key": "ERROR",
"doc_count": 145
}
]
}
}
将输出:
Agreement
INFO:1458
ERROR:145
在jq play测试。