$shibayu36->blog;

クラスター株式会社のソフトウェアエンジニアです。エンジニアリングや読書などについて書いています。

curlとjqで簡単にAPIの調査をする

ちょっとAPIを調査したいと思った時に、スクリプトを書くのも面倒なのでcurlとjqとかを利用してみたら、便利だったのでメモ。今回はTrelloをちょっといじってみた。
Redirecter

ひとまずcurljsonを出す

これは普通にcurlするだけ。

curl 'https://api.trello.com/1/boards/4d5ea62fd76aa1136000000c/cards'

これでは見づらい。

curlで出たjsonをpretty化する

jqに通すだけでpretty化と更に色付けされる。

curl 'https://api.trello.com/1/boards/4d5ea62fd76aa1136000000c/cards' | jq '.'

f:id:shiba_yu36:20140922210930p:plain

curlで出たjsonの一部だけ表示する

jqはjsonをいろいろ絞り込み出来る。

例えばリストの5件目まで表示。

curl 'https://api.trello.com/1/boards/4d5ea62fd76aa1136000000c/cards' | jq '.[0:5]'

例えばnameだけ表示する

jq '.[] | {name}'

f:id:shiba_yu36:20140922211633p:plain

まとめ

jq便利

追記

以下のようなツールもあったのでメモ書きました

APIの気軽な調査をするのにhttpieというツールもあった - $shibayu36->blog;

iphone帯域制限された

土曜にカフェでひたすらkindleの漫画を読んでいたら、1日1GBを超えると三日間帯域制限されるというのに引っかかったらしく、むちゃくちゃ遅いインターネットをiphoneで経験している。

そもそも帯域制限がかかってるということに気づくまでが長くて

  • なぜかインターネットが非常に重いという体験をする
  • 何度もその体験を繰り返して、これはおかしいと思う
  • 帯域制限を疑って、1ヶ月7GB使ってないか確かめるが、1GBくらいしか使ってなかった
  • 1日待ってみるもののやはりおかしい
  • スピードチェックしてみると、体感だけでなくほとんど速度出てないことが分かる
  • 問い合わせることでようやく1日1GBという制限があることを知る

という感じだった。

適切なフィードバックがあれば、こんなフローなしで気づけたはずなので、なんらかのフィードバックが欲しかった、という気持ちになった。サービス作るときには気をつけたい。