コマンドラインで json を作る

json をパースするツールとして jq というのがありますが、 その反対、json を作るツールとして jo というのがあります。

使い方

引数でキーと値を指定する

$ jo key=value
{"key":"value"}

配列を作るときは -a オプションをつける

$ jo -a 1 2 3
[1,2,3]

ネストしたオブジェクトを作る場合は $() を使う

$ jo key=falue object=$(jo name=test value=1)
{"key":"falue","object":{"name":"test","value":1}}

-p オプションをつければ見やすくしてくれる

$ jo -p key=falue object=$(jo name=test value=1)
{
   "key": "falue",
   "object": {
      "name": "test",
      "value": 1
   }
}

標準入力からのデータも使える

$ seq 1 10 | jo -a
[1,2,3,4,5,6,7,8,9,10]

インストール

brew からでも入るみたいだけど、 ソースからコンパイルした。

git clone git://github.com/jpmens/jo.git
cd jo
autoreconf -i
./configure
make check
make install