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"두 번 나타납니다.

따라서 중복 키를 찾아 성공적으로 할당된 마지막 값을 가져오고 잘못된 입력을 최대한 허용하도록 요청합니다.

관련 정보