概要
jqはJSONデータを入力として受け取り、様々な方法で処理して出力します。単純な値の抽出から複雑な配列/オブジェクト操作まで可能で、スクリプト環境でJSONを扱う際に不可欠なツールです。
主な機能
- JSONデータのパースとフォーマット
- 特定のフィールドの抽出とフィルタリング
- 配列とオブジェクトの操作
- データの変換と再構築
主要オプション
入出力形式
フィルタリング/変換
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`jq` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
基本的なJSONフォーマット
echo '{"name": "Alice", "age": 30}' | jq .
入力されたJSONを読みやすい形式で出力します。
特定のフィールド抽出
echo '{"name": "Bob", "age": 25}' | jq '.name'
JSONオブジェクトから「name」フィールドの値を抽出します。
配列要素からのフィールド抽出
echo '[{"name": "Alice"}, {"name": "Bob"}]' | jq '.[].name'
JSON配列内の各オブジェクトから「name」フィールドを抽出します。
Raw文字列出力
echo '{"city": "Seoul"}' | jq -r '.city'
抽出された文字列値を引用符なしで出力します。
複数フィールドの選択と新規オブジェクト作成
echo '{"name": "Charlie", "age": 40, "email": "charlie@example.com"}' | jq '{name: .name, age: .age}'
既存のオブジェクトから「name」と「age」フィールドのみを含む新しいオブジェクトを作成します。
条件によるフィルタリング
echo '[{"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}]' | jq '.[] | select(.age >= 30)'
年齢が30以上のユーザーのみをフィルタリングします。
配列要素の変換 (map)
echo '[{"name": "Alice"}, {"name": "Bob"}]' | jq 'map(.name | ascii_upcase)'
各ユーザーの名前を大文字に変換します。