나는 다음과 같은 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"
두 번 나타납니다.
따라서 중복 키를 찾아 성공적으로 할당된 마지막 값을 가져오고 잘못된 입력을 최대한 허용하도록 요청합니다.