はじめに
ちょっとAPIのテストしたいなーって時に戻り値がJSONで、「どんな風に辿れば良いのかな」とか「欲しいデータあるかな」と思ったので試しました。Macです。
データ
今回の対象はライブドアの天気予報のAPIです。便利ですね。
$ curl 'http://weather.livedoor.com/forecast/webservice/json/v1?city=070030'
{"pinpointLocations":[{"link":"http://weather.livedoor.com ...
Livedoor お天気Webサービス仕様
http://weather.livedoor.com/weather_hacks/webservice
PHP
普段はPHPを使っているのでPHPでのデコードです。brewでCLI版のPHPを入れてしまっていますが、確かデフォルトでも動きます。
curl 'http://weather.livedoor.com/forecast/webservice/json/v1?city=070030' | php -r 'var_dump(json_decode(trim(fgets(STDIN))));'
呼び出しがこんがらがりそうです。
var_dump(), json_decode(), trim(), fgets(), STDINですね。
jq
./jqというJSON processorを使いました。
https://stedolan.github.io/jq/
curl 'http://weather.livedoor.com/forecast/webservice/json/v1?city=070030' | jq
使い勝手も簡単ですし、ターミナルによりますがデフォルトで色づけされます。便利ですね。
ですが初回はインストールする必要があります。
brew install jq
まとめ
jqはお手軽で便利だなぁ、と。他の言語でもきっと出来るとおもいます。


