Python で Jsonフォーマットを解析してみた!

前の記事でPythonでXMLをJSONフォーマットに変換する方法をまとめてみた。

今回はアプリでJSONフォーマットデータを活用する為に、パース(解析)する方法。毎回調べ直すので、備忘録のためにまとめた。



環境

今回実施する環境は以下の通り

  • MacOSX 10.13.3
  • Python 3.6.1

準備

Virtualenv環境の構築

今回も"virtualenv"環境の上で実施する。準備の手順に関しては、過去の記事にまとめてあるので、参照してほしい。

尚、今回はサードパティのPythonパッケージを使用せず、標準パッケージのみで大丈夫な為、追加パッケージインストールはなし。

実験用のデータの準備

今回の検索対象のJSONベースのデータは、Google Books APIを用いて本の情報を用いる

以下のリンクから取得できる

# "入門Python3"情報をISBNから取得
https://www.googleapis.com/books/v1/volumes?q=isbn:9784873117386

実際に取得までの方法を以下に記載

import json
import urllib.request

url = 'https://www.googleapis.com/books/v1/volumes?q=isbn:9784873117386'
response = urllib.request.urlopen(url)
# "content"内に結果が格納される
content = json.loads(response.read().decode('utf8'))

JSONフォーマットのパース

準備の中でURLからJSONデータを取得するまでを挙げた。その結果の中身をパースして、意図したデータを取得する方法を以下に記述する

# jsonデータ全てを出力
print(content)

# 1階層入った内容を出力
print(content['items'])

# 'title'キーの内容を出力
print(content['items'][0]['volumeInfo']['title'])

# 'description'キーの内容を出力
print(content['items'][0]['volumeInfo']['description'])