シェルスクリプトプログラミング

今回は、シェルスクリプトでjsonを扱う方法をbashのサンプルプログラムを使って説明します。

目標

  • シェルスクリプトでjsonを扱うためのライブラリを理解する
  • bashを使う

 事前準備

シェルスクリプトでjsonを扱うためには、ライブラリである”jq”のインストールが必要です。

ライブラリである”jq”のインストールをするには、以下のコマンドを実行します。

  • Ubuntuなどのapt環境の場合
$ sudo apt-get install jq
  • CentOSなどのyum環境の場合
# yum install jq

それでは、下記のサンプルデータとサンプルプログラムを用いて説明します。

サンプルデータ

サンプルデータとして、以下のJSONデータが記載された「sample.json」を利用します。

{"name": "hoge", "address": "神奈川県"}

プログラムの流れ

sample.jsonからJSONデータを取得するシェルスクリプトのプログラの流れは以下の通りです。

  1. JSONデータを取得
  2. jqによるJSONデータの抽出
  3. 抽出したデータの出力

サンプルプログラム

下記のgetJson.shは、上記の流れに沿って記述したプログラムです。

## 1. JSONデータを取得
jsonData=`cat sample.json`

## 2. jqによるJSONデータの抽出
name=$(echo $jsonData | jq -r ".name")
address=$(echo $jsonData | jq -r ".address")

## 3. 抽出したデータの出力
echo $name
echo $address

上記のgetJson.shを実行することによって、sample.jsonからJSONデータを取得することができます

実行方法は、以下になります。

$ sh getJson.sh

実行結果

実行結果は、次のようになります。

hoge
神奈川県

まとめ

以上、シェルスクリプトでjsonを数行のコードで簡単に扱うことができました。
シェルスクリプトは大抵のLunux環境ではデフォルトで動作するので、汎用性の高い言語です。
まだ使ったことのない人も、ぜひ試してみてください。