PythonでJSONを扱う際には、json.dumps
関数が非常に便利です。この関数はPythonオブジェクトをJSON形式の文字列に変換します。
json.dumpsの基本的な使い方
まずは、json.dumps
の基本的な使い方を見てみましょう。
import json
data = {"name": "tarou", "age": 23, "gender": "man"}
json_str = json.dumps(data)
print(json_str) # 出力: {"name": "tarou", "age": 23, "gender": "man"}
この例では、Pythonの辞書をJSON形式の文字列に変換しています。
json.dumpsのオプション
json.dumps
関数にはいくつかのオプションがあります。
ensure_ascii
ensure_ascii
オプションは、出力するJSON文字列がASCIIのみを含むようにするかどうかを制御します。デフォルトはTrue
で、これにより特殊文字はエスケープされます。しかし、日本語などの非ASCII文字をそのままの形で出力したい場合は、ensure_ascii=False
を指定します。
import json
data = {"name": "太郎", "age": 23, "gender": "男"}
json_str = json.dumps(data, ensure_ascii=False)
print(json_str) # 出力: {"name": "太郎", "age": 23, "gender": "男"}
indent
indent
オプションは、出力するJSON文字列のインデント(字下げ)を制御します。このオプションに整数を指定すると、その数値分のスペースでインデントされます。
import json
data = {"name": "太郎", "age": 23, "gender": "男"}
json_str = json.dumps(data, ensure_ascii=False, indent=2)
print(json_str)
# 出力:
# {
# "name": "太郎",
# "age": 23,
# "gender": "男"
# }
このように、json.dumps
関数を使うと、Pythonオブジェクトを柔軟にJSON形式の文字列に変換することができます。これにより、PythonでJSONデータを扱う作業が大幅に簡単になります。