シェルでJSON文字列を解析する方法
JSON文字列解析には、jqなどのツールが役立ちます。jqは、JSONデータ向けの軽量コマンドラインプロセッサです。簡単な例を紹介します。
JSON文字列 data.json があり、内容は次の通りです。
{
"name": "John",
"age": 30,
"city": "New York"
}
以下のコマンドを使用して JSON 文字列を解析できます。
cat data.json | jq '.name'
これはジョンを出力し、JSON文字列から名前フィールドの値が抽出されたことを示しています。
ネストしたJSONデータを処理するには、jqを使用することもできます。例えば、次のJSON文字列があるとします。
{
"name": "John",
"age": 30,
"city": "New York",
"hobbies": ["reading", "coding", "swimming"]
}
hobbies フィールドの値を取得するには、以下のコマンドを使用できます。
cat data.json | jq '.hobbies'
これは [“読書”,”コーディング”,”水泳”] を出力し、これはJSON文字列から配列のhobbiesフィールドを抽出することを意味します。
もちろんjqコマンドでは、フィルタリング・条件判断など、もっと多くの機能が提供されているため、その都度コマンドを使い分けることができる。