Closed3
jq 便利な表現まとめ
初めに
jqはシェル芸で最もよく使われるコマンドですが、複数のデータを結合する際に非常に強力です。ここではいくつかのパターンを紹介していきます。
役立つものたち
複数のJSONデータを結合する
JSON_A='{"a": 1, "b": 2}'
JSON_B='{"c": 3, "d": 2}'
jq --slurp 'add' <(echo "$JSON_A") <(echo "$JSON_B")
{
"a": 1,
"b": 2,
"c": 3,
"d": 2
}
配列の中身を検索する
JSON_A='{"data": [{"id": 111, "name": "bob"}, {"id": 11, "name": "alice"}, {"id": 1, "name": "chris"}]}'
echo "$JSON_A"|jq '.data[]|select(.id | contains(1))'
{
"id": 1,
"name": "chris"
}
配列[]を外してJSONだけにする
JSON_A='{"data": [{"id": 111, "name": "bob"}, {"id": 11, "name": "alice"}, {"id": 1, "name": "chris"}]}'
echo "$JSON_A"|jq '.data|.[]'
{
"id": 111,
"name": "bob"
}
{
"id": 11,
"name": "alice"
}
{
"id": 1,
"name": "chris"
}
参考にしたサイト
このスクラップは2022/10/18にクローズされました