Python標準ライブラリ:json
Python標準ライブラリの「json」モジュールの使い方について備忘録をまとめました。json モジュールによって JSON(JavaScript Object Notation)形式のデータを扱うことができます。JSON はデータの保存や通信に広く使われています。
JSONとは
JSONは次のようなデータ形式です。Pythonの辞書のような形式です:
data = { "name": "Alice", "age": 25, "is_student": false, "skills": ["Python", "Machine Learning"], "address": { "city": "Tokyo", "country": "Japan" } }
PythonオブジェクトとJSONの間の相互変換
PythonオブジェクトをJSONに変換:dumps
Python の dict オブジェクトを JSON 文字列に変換するには以下のようにします:
import json # Pythonの辞書 (dict) data = { "name": "Alice", "age": 25, "is_student": False, "skills": ["Python", "Machine Learning"], "address": {"city": "Tokyo", "country": "Japan"} } # JSON 文字列に変換 json_string = json.dumps(data) print(json_string)
出力はJSON形式の文字列になります。
JSONファイルの読み書き
日本語対応:ensure_ascii=False
デフォルトでは ensure_ascii=True で、非ASCII文字(日本語など)は Unicode (\uXXXX) でエンコードされています。日本語をそのまま出力したい場合、オプションで ensure_ascii=False を指定する必要があります:
data = {"name": "太郎", "city": "東京"}
# Unicodeエンコードされる
print(json.dumps(data))
# 日本語のまま出力
print(json.dumps(data, ensure_ascii=False))
{"name": "\u592a\u90ce", "city": "\u6771\u4eac"}
{"name": "太郎", "city": "東京"}
キーワード:jsonモジュール、標準ライブラリ