見出し画像

API取得プログラム作成時にJSON要素の指定を楽にする方法

APIの戻り値としてよく使用されるJSONですが、その構造化の柔軟さ故に人間にはわかりにくいことが多々あります。

プログラマーとしては楽に間違えなく要素を指定したいものです。私の活用している方法を少々お伝えしましょう。

こちらの例はPythonを使用したときの例です。配列にラベル付きで格納されればこの方法が活用できるかもしれません。

例えば、下記のAPI コマンドでALISの最新の記事一覧が取れる

https://alis.to/api/articles/recent

ChromeにJson Viewをいれていると下記のように表示される

画像1


Pythonで下記のコマンドでjsonをPythonの配列に格納したときのことを考えよう

url = f'https://alis.to/api/articles/{article_id}'
data = json.loads(requests.get(url).text)

例えば、titleを取り出すならば、うえのJson Viewを見ながら

data[‘Items’][0]['title]

とするわけだ。まあいい。階層が1個なので想像ができる。ところがこの世の中には階層が2−3あるAPIも少なくない。その場合はどうするか?

The Fastest JSON visualizer

を使おう

このツールはトップのテキストボックスにJSONを貼り付けてあげると階層解釈をして見やすくして出してくれる

Json Viewを使っている場合はOffにしてからデータをコピペすることを忘れないようにしてください。

スクリーンショット 2020-02-04 23.17.49


The Fastest JSON visualizerの素晴らしい点は、それぞれの要素の後ろに配列構造にした場合の記載例がでているのだ。titleであれば下記のような記載である。

data['Items']['0']['title']

僕が json.loadsで戻り値をdataとしているのはこのためだ

url = f'https://alis.to/api/articles/{article_id}'
data = json.loads(requests.get(url).text)
print(data['Items'][0]['title'])

このように、ほぼそのままコピペして使える。

一つだけ注意点は数字の部分。つまり辞書型ではない配列の部分だけは ’’(クオーテーション) を自分で取り除いて上げてほしい。

これだけだ。これだけでいけるのだ。どんなに階層が深くてもあっという間に模範解答を作ってくれる。

APIをやる人は座右のサイトだとおもう。

あらためて掲載しておきます。

The Fastest JSON visualizer

では楽しいAPIライフを


この記事が気に入ったらサポートをしてみませんか?