次の json ファイルがあります:
{
"FOO": {
"name": "Donald",
"location": "Stockholm"
},
"BAR": {
"name": "Walt",
"location": "Stockholm"
},
"BAZ": {
"name": "Jack",
"location": "Whereever"
}
}
私は jq を使用しており、「location」が「Stockholm」であるオブジェクトの「name」要素を取得したいと考えています。
私はすべての名前を
cat json | jq .[] | jq ."name"
"Jack"
"Walt"
"Donald"
"location" : "Stockholm"
しかし、サブキーの値 (ここでは)を指定して、特定のオブジェクトのみを印刷する方法がわかりません。
ベストアンサー1
この投稿から引用jq で JSON を処理する、あなたはselect(bool)
このような:
$ jq '.[] | select(.location=="Stockholm")' json
{
"location": "Stockholm",
"name": "Walt"
}
{
"location": "Stockholm",
"name": "Donald"
}