我有以下 json:
[
{
"_source": {
"layers": {
"http2": {
"http2.stream": {
"http2.length": "1030"
}
},
"http2": {
"http2.stream": {
"http2.length": "1246"
}
}
}
}
}
]
我正在执行以下jq
命令:
jq '.[]._source.layers.http2."http2.stream"' file.json
我期望得到以下结果:
{
"http2.length": "1030"
}
{
"http2.length": "1246"
}
但我只得到:
{
"http2.length": "1246"
}
答案1
Jq 在这里表现得尽可能合理,期望 JSON 作为输入。 JSON 字典是独特的键值映射,并且您的键"http2"
出现两次。
因此,您请求查找重复键,并成功获取为其指定的最后一个值,并尽可能容忍无效输入。