jq

軽量(けいりょう) コマンドライン JSON プロセッサ

基本使用法

Pretty Print

デフォルトで jq出力(しゅつりょく)整形(せいけい) します

jq '.' seaCreatures.json

部分値を取得

jq '.[].name' sea-creatures.json
# 出力:
# "Sammy"
# "Bubbles"
# "Splish"
# "Splash"

結果(けっか)配列(はいれつ)() れる

jq '[.[].name]' sea-creatures.json
# [
#   "Sammy",
#   "Bubbles",
#   "Splish",
#   "Splash"
# ]

-r オプション

raw output(引用符(いんようふ)削除(さくじょ)

jq -r '.[].name' sea-creatures.json
# Sammy
# Bubbles
# Splish
# Splash

フィールドを計算

jq '[.[] | .clams]' sea-creatures.json
# [5, 3, 2, 2]
jq 'map(.clams)' sea-creatures.json
# [5, 3, 2, 2]

map() 関数

map で反復(はんぷく) し、add で合計(ごうけい)

jq 'map(.clams) | add' sea-creatures.json
# 12

map + select + add

jq 'map(select(.type == "dolphin").clams) | add' sea-creatures.json
# 4

データ構造を変換

jq '{ creatures: map(.name), totalClams: map(.clams) | add, totalDolphinClams: map(select(.type == "dolphin").clams) | add }' sea-creatures.json

其他のオプション

-c

コンパクト出力(しゅつりょく)単一(たんいつ) (ぎょう)

jq -c '.' data.json

length

JSON の(なが) さを計算(けいさん)

jq length data.json