私は次の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辞書はユニークKey-Valueマッピングとキーが"http2"
2回表示されます。
したがって、重複キーを見つけて、正常に割り当てられた最後の値を取得し、誤った入力をできるだけ許可するように要求します。