jq
JSONにクエリしてフィルタできるCLIツール。
Documents
チートシート
# オブジェクトの特定キーの要素を抽出
cat foo.json | jq '.some_key'
# 配列の特定要素を抽出
cat foo.json | jq '.[0]'
# 配列の個々のオブジェクトの特定キーを抽出
cat foo.json | jq '.[] | .some_key'
# 配列の個々のオブジェクトからいくつかの要素を選んでそれぞれ配列に格納
cat foo.json | jq '.[] | [.keyA, .keyB, .keyC.keyAinC]'
# CSV形式で出力
cat foo.json | jq '.[] | [.keyA, .keyB, .keyC] | @csv'
# 配列の個々のオブジェクトからいくつかの要素を選んで新たなオブジェクトを作り、それぞれ出力
cat foo.json | jq '.[] | {a: .keyA, b: .keyB, ca: .keyC.keyAinC}'
# 配列の要素を特定のフィールドの値でフィルタ
cat foo.json | jq '.[] | select(.keyA == "foo")'
参考:
- jq チートシート - Qoosky
- jq コマンドで JSON を CSV に変換する - VELTRA Engineering - Medium
- jq で 条件にマッチするオブジェクトを取り出す where 句的なこと - それマグで!
最終更新 2021-05-13: [jq,bq,google/sheet] Add some memo (105557db9)