jsonをいじる際になにかと便利な「jqコマンド」のmacでのインストール方法を徹底解説したいと思います。
インストール方法
標準で使えるbrewコマンドでインストールできます。
% brew install jq
<スポンサードリンク>
jqコマンドの使い方サンプル
jqコマンドの使い方のサンプルです。
試しに、bitcoinの価格を取得できるAPIを呼んでみましょう。
基本的には、パイプ( | )をつけてjqコマンドを続けて書くだけで、jsonを成形して表示してくれます。
% curl https://api.bitflyer.com/v1/getboard | jq % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 92294 100 92294 0 0 166k 0 --:--:-- --:--:-- --:--:-- 166k { "mid_price": 719144, "bids": [ { "price": 718989, "size": 0.2959 }, { "price": 718982, "size": 0.1011 }, { "price": 718949, "size": 0.50000013 }, { "price": 718948, "size": 0.38303991 }, { "price": 718901, "size": 1.00000013 }, { "price": 718900, "size": 1 }, { "price": 718859, "size": 0.1 }, { "price": 718803, "size": 1 }, . . . .
特定の要素を取得したいときは、こんな感じで取得できます。
% curl https://api.bitflyer.com/v1/getboard | jq '.bids[].price' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 92156 100 92156 0 0 511k 0 --:--:-- --:--:-- --:--:-- 514k 719002 718990 718930 718901 718900 718859
こんな感じで、特定の項目のみ抜き出して、再成形することもできます。
% curl https://api.bitflyer.com/v1/getboard | jq '.bids[] | { price : .price }' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 92198 100 92198 0 0 404k 0 --:--:-- --:--:-- --:--:-- 405k { "price": 718907 } { "price": 718904 } { "price": 718900 } { "price": 718859 } { "price": 718810 }
json形式は、なにかと使うことが多いので、インストールしておいて損はないと思います。
シェルスクリプトを書いたりしていると大活躍です。