jqの使い方
概要
- コマンドラインで動作するJSONパーサー
.
が匿名の変数として使える.[]
が配列の展開となる|
でパイプラインjq -C | less -R
でページング時に色付け
インストール
ubuntu/debian
$ sudo apt install jq
macOS
$ brew install jq
具体例
pretty print
$ cat sample.json | jq .
配列の要素を選択
$ echo '{"name": "John", "age": 30}' | jq '.name'
# "John"
配列の要素を選択
$ echo '[{"name": "John", "age": 30}, {"name": "Mike", "age": 20}]' | jq '.[0].name'
# "John"
配列やオブジェクトをループして処理
$ echo '[{"name": "John", "age": 30}, {"name": "Mike", "age": 20}]' | jq '.[] | .name'
# "John"
# "Mike"
フィルターを使って複雑な条件を指定
$ echo '[{"name": "John", "age": 30}, {"name": "Mike", "age": 20}]' | jq '.[] | select(.age > 25) | .name'
# "John"