shell
json='[{"item_id":1,"name":"123"},{"item_id":2,"name":"234"},{"item_id":3,"name":"345"}]' echo $json | jq '.[] | select(.name | contains("34"))'
このように実行すると、
{ "item_id": 2, "name": "234" } { "item_id": 3, "name": "345" }
と結果が返ってきますが、このうちの1つ目のデータ、つまり
{ "item_id": 2, "name": "234" }
だけを取得したいと考えています。
shell
json='[{"item_id":1,"name":"123"},{"item_id":2,"name":"234"},{"item_id":3,"name":"345"}]' echo \$json | jq '.[] | select(.name | contains("34")) | .[0]'
としてもselectで[ ]外れているためエラーになってしまいます。
selectの後に手動で[ ]をつけるなども出来ると思いますが、スマートでは無いと思います。
どのようにすればスマートに取得出来るでしょうか?
まだ回答がついていません
会員登録して回答してみよう