我正在尝试使用 jq 将 Solr 6.5 指标解析为键值对:
{
"responseHeader": {
"status": 0,
"QTime": 7962
},
"metrics": [
"solr.core.shard1",
"QUERY./select",
"solr.core.shard2",
"QUERY./update"
...
]
}
Run Code Online (Sandbox Code Playgroud)
我想在指标数组中选择偶数奇数条目,并将它们作为键值对放在一个对象中,如下所示:
{
"solr.core.shard1": "QUERY./select",
"solr.core.shard2": "QUERY./update",
...
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我只能想出:
.metrics | to_entries | .[] | {(select(.key % 2 == 0).value): select(.key % 2 == 1).value}
Run Code Online (Sandbox Code Playgroud)
但这会返回错误或没有结果。
如果有人能指出我正确的方向,我将不胜感激。我觉得答案可能就在地图运算符中,但我一直无法弄清楚。
jq解决方案:
jq '[ .metrics as $m | range(0; $m | length; 2)
| {($m[.]): $m[(. + 1)]} ] | add' jsonfile
Run Code Online (Sandbox Code Playgroud)
输出:
{
"solr.core.shard1": "QUERY./select",
"solr.core.shard2": "QUERY./update"
}
Run Code Online (Sandbox Code Playgroud)
https://stedolan.github.io/jq/manual/v1.5/#range(upto),范围(from;upto)范围(from;upto;by)
| 归档时间: |
|
| 查看次数: |
991 次 |
| 最近记录: |