PythonでJSON形式のデータを読み込む

Pythonの標準ライブラリ”JSON”

PythonでJSON形式のデータを読み込んでみるテスト。Pythonでは、標準ライブラリ”json”を使ってJSON(JavaScript Object Notation)APIの利用が可能です。

18.2. json — JSON エンコーダおよびデコーダ — Python 2.7ja1 documentation

良く使いそうなのは”json.loads()”や”json.dumps()”といったところでしょうか。それぞれ、JSON文字列形式のデータの読み込み(辞書型のデータとして保存)と、オブジェクトのJSON文字列への変換を行います。

“json.load()”および”json.dump()”では、ファイル(またはファイル風のオブジェクト)に対して同様の処理を行います。

実際に”json.loads()”を使ってみましょう。”import json”すると使えるようになります。


# coding: utf-8
import json
input = u'{"key1":"Test","key2":null,"key3":true}' # JSON形式のデータを作成
jsonData = json.loads(input) # JSON形式のデータを読み込み
print "Key 1: " + str(jsonData['key1'])
print "Key 2: " + str(jsonData['key2'])
print "Key 3: " + str(jsonData['key3'])

出力結果:


Key 1: Test
Key 2: None
Key 3: True

JSONとPythonの間の型の処理もしてくれます。JSONの"null"とPythonの"None"、JSONの"true"とPythonの"True"、JSONの"false"とPythonの"False"の変換も上手く処理してくれるようです。便利ですね。

もう少し工夫してみましょう。ディクショナリに存在しないキーを入力してしまうと、Pythonがエラーを吐いてしまいます。キーが辞書に存在しているかどうかを確認してから、辞書の要素を出力するようにします。


# coding: utf-8
import json
input = u'{"key1":"Test","key2":null,"key3":true}' # JSON形式のデータを作成
jsonData = json.loads(input) # JSON形式のデータを読み込み
# key1は辞書にあるので値が表示される
if 'key1' in jsonData:
print "Key 1: " + str(jsonData['key1'])
else:
print "Key 1: Not exists."
# key4は辞書にないのでNot existsと表示される
if 'key4' in jsonData:
print "Key 4: " + str(jsonData['key1'])
else:
print "Key 4: Not exists."

出力結果:


Key 1: Test
Key 4: Not exists.

これで、Pythonを使ってJSON形式のデータを読み込むことができるようになりました。

シェアしてもらえるとうれしいです。゚(´っωc`)゚。