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"]})