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'])