Pythonのjson
モジュールは、JSON形式のデータを扱うための標準ライブラリです。このモジュールを使用することで、PythonのオブジェクトをJSON形式に変換し、JSONデータをPythonオブジェクトに変換することができます。
基本操作
json.load
json.load
は、対象ファイルからjsonオブジェクトを受け取るメソッドです。返り値は辞書型です。
with open('jsonファイルのパス', 'r') as f:
map_obj = json.load(f)
print(type(map_obj)) # <class 'dict'>
json.loads
json.loads
は、文字列からjsonオブジェクトを受け取るメソッドです。返り値は辞書型です。
str = '{"a": 1, "b": 2, "c": 3}'
map_obj = json.loads(str)
print(type(map_obj)) # <class 'dict'>
json.dump
json.dump
は、辞書型の値をjsonに変換してファイル出力するメソッドです。
str = '{"a": 1, "b": 2, "c": 3}'
with open('jsonファイルのパス', 'w') as f:
json.dump(str, f)
json.dumps
json.dumps
は、辞書型の値をjsonに変換し、文字列として出力するメソッドです。
map = {'a': 1, 'b': 2, 'c': 3}
print(json.dumps(map)) # '{"a": 1, "b": 2, "c": 3}'
エンコード、デコードのカスタマイズ
Pythonのjsonモジュールでエンコード・デコードできるデータ型は以下に限られています。
- JSON ⇔ Python
- object ⇔ dict
- array ⇔ list
- string ⇔ str
- number (int) ⇔ int
- number (real) ⇔ float
- true ⇔ True
- false ⇔ False
- null ⇔ None
そのため、他のデータ型を変換したい場合は、独自の関数を作成し、エンコーダーとデコーダーに渡してあげる必要があります。
以上がPythonのjsonモジュールの基本的な使い方になります。このモジュールを使うことで、PythonとJSONの間でデータのやり取りが容易になります。