- jqコマンドを使用する方法: jqは、JSONデータをパースおよび抽出するための強力なコマンドラインツールです。
例えば、以下はJSONデータをパースして、特定のフィールドの値を取得する方法です。
json='{"name": "John", "age": 30, "city": "Tokyo"}'
name=$(echo $json | jq -r '.name')
echo $name
上記の例では、jq -r '.name'
を使用してname
フィールドの値を取得し、変数name
に格納しています。
- Bashの組み込み機能を使用する方法: Bashには、JSONをパースするための組み込みの機能はありませんが、一部のパターンマッチングや文字列操作を使用して、JSONデータを処理することは可能です。
例えば、以下はJSONデータをパースして、特定のフィールドの値を取得する方法です。
json='{"name": "John", "age": 30, "city": "Tokyo"}'
name=${json#*\"name\": \"} # プレフィックスを削除
name=${name%%\"*} # サフィックスを削除
echo $name
上記の例では、#*\"name\": \"
を使用してname
フィールドのプレフィックスを削除し、%%\"*
を使用してサフィックスを削除しています。
- Pythonスクリプトを使用する方法: BashではなくPythonを使用してJSONをパースする方法もあります。以下はPythonスクリプトの例です。
import json
json_data = '{"name": "John", "age": 30, "city": "Tokyo"}'
data = json.loads(json_data)
name = data['name']
print(name)
上記の例では、json.loads()
関数を使用してJSONデータをパースし、辞書としてアクセスしています。
これらは一部の一般的なJSONパースの方法ですが、実際の使用ケースによって最適な方法が異なる場合もあります。