LoginSignup
5
2

More than 5 years have passed since last update.

1行JSONを整形して表示(PythonのJSONモジュール)

Posted at

整形するために jq (https://stedolan.github.io/jq/) を入れていたこともあったが、閲覧するだけのために jq をインストールするのはやりすぎ。

Pythonがインストールされていれば簡単に整形ができる。

要約

  • JSON APIのレスポンスは、1行に圧縮されていており、だいたいの場合人が読みづらい。
  • Pythonがインストールされていれば、単純な整形は一瞬でできる
  • 方法は、https://docs.python.jp/3/library/json.html#module-json.tool で紹介されている

試す

デモのために、 郵便番号-住所検索API を利用する。もしあなたがAPIを利用するときは、 利用規約 に目を通して欲しい。

453-0809という郵便番号から住所を検索してみる。

$ curl -s -X GET 'http://api.zipaddress.net/?zipcode=453-0809&lang=rome'
{"code":200,"data":{"pref":"AICHI","address":"NAGOYA-SHI NAKAMURA-KU KAMIKOMENOCHO","fullAddress":"AICHI NAGOYA-SHI NAKAMURA-KU KAMIKOMENOCHO"}}

短いJSONのため、我慢すれば読めないことはない。人が目視確認をするときは、整形されていたほうが好ましい。整形するためにはJSONをパイプで PythonのJSONモジュールに渡す。

$ curl -s -X GET 'http://api.zipaddress.net/?zipcode=453-0809&lang=rome' | python -m json.tool
{
    "code": 200,
    "data": {
        "pref": "AICHI",
        "address": "NAGOYA-SHI NAKAMURA-KU KAMIKOMENOCHO",
        "fullAddress": "AICHI NAGOYA-SHI NAKAMURA-KU KAMIKOMENOCHO"
    }
}

この方法は、 PythonのJSONモジュールのドキュメントに記述されている。詳しくは https://docs.python.jp/3/library/json.html#module-json.tool を参照してほしい。

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2