jq 未显示所有结果

jq 未显示所有结果

我有以下 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"出现两次。

因此,您请求查找重复键,并成功获取为其指定的最后一个值,并尽可能容忍无效输入。

相关内容