PythonでJSONデータを読み込む



JSONファイルの読込

PythonでJSON形式のデータを読み込むと、辞書型で保存されます。
>>> j = {
...     "PiyoBook":{
...     "title":"Python Study",
...     "year": 2010,
...     "page": 100
...     },
...     "MoguBook":{
...     "title": "Python Programming",
...     "year": 2015,
...     "page": 200
...     }
... }

>>> type(j)
<class 'dict'>


dict型からの値取り出し

key名を指定することで値を取り出すことができます。
>>> j["PiyoBook"]
{'title': 'Python Study', 'year': 2010, 'page': 100}

>>> type(j["PiyoBook"])
<class 'dict'>

ネストした中のkeyを取り出すときは、順番にkeyを指定すると取り出すことができます。
>>> j["PiyoBook"]["title"]
'Python Study'

>>> type(j["PiyoBook"]["title"])
<class 'str'>


dict型からkey分の値取り出し

# -*- coding: utf-8 -*-

j = {
    "PiyoBook":{
    "title":"Python Study",
    "year": 2010,
    "page": 100
    },
    "MoguBook":{
    "title": "Python Programming",
    "year": 2015,
    "page": 200
    }
}

def main():
    keys = j.keys()
    titles = []
    for key in keys:
        titles.append(j[key]["title"])

    print(titles)


if __name__ == '__main__':
    main()

実行結果
['Python Study', 'Python Programming']
titleだけを取り出すことができました。
ちなみに配列の操作でappend()はオブジェクトの追加、extend()はリストオブジェクトの追加です。
(今回はtitleだけなのでappend()を使っています)


まとめ

JSON形式のデータを簡単に読み込むことができました。辞書型にしてしまえば、値の追加や削除も簡単にできるので、改めてPythonの便利さを実感しました。
また、今回は使っていませんが、dump()を使って辞書型からJSON形式に変換することもできるようです。
よりPythonの理解を深めていきたいと思います。