Jsonは JavaScript Object Notationの略で、ブラウザのVMで扱いやすいデータ形式として作られています。仕様はRFC7139で規定されています。
javascriptがWebフロントで使われているため、Web上でのデータ処理する上で扱いやすい形式になっています。Pythonはdictのデータ構造を持つため、データフォーマットを変換する手続きとしては、dict形式とリスト形式の変換と似た構造で処理することができます。
jsonデータの取得 (デコーダ)
json形式のデータを取得します。以下の関数の第一引数はファイルポインタです。
import json
conf = json.load(open(filepath,'r'))json形式のデータを取得します。以下の関数の第一引数は、str型、bytearray,bytes型のテキストです。
import json
json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]')
['foo', {'bar': ['baz', None, 1.0, 2]}]jsonデータをデコードする場合、以下の変換テーブルによって、Json形式のデータをPythonのデータ型に変換します。
| JSON | Python | |
| object | dict | |
| array | list | |
| string | str | |
| number(int) | int | |
| number(real) | float | |
| true | True | |
| false | False | |
| null | None |
jsonエンコーダ
Pythonのデータ構造をJson形式のテキストデータに変換します。
import json
s = json.JSONEncorder().encode({"foo":["bar","baz"]})