Pythonにおける`json.dumps()`の理解
May 11, 2025
# JSON
Grace Collins
Solutions Engineer · Leapcell

Key Takeaways
json.dumps()
はPythonオブジェクトをJSON形式の文字列に変換します。indent
、sort_keys
、ensure_ascii
などのパラメータで出力をカスタマイズできます。- シリアライズできないオブジェクトは、変換のためにカスタムの
default
関数が必要です。
JSON(JavaScript Object Notation)データの操作は、Python開発、特にWeb開発、データ交換、APIにおいて、一般的なタスクです。Pythonの組み込みjson
モジュールは、JSONデータを扱うためのさまざまなメソッドを提供しています。最も頻繁に使用される関数の1つがjson.dumps()
です。この記事では、json.dumps()
が何をするのか、どのように使用するのか、そして出力のカスタマイズに役立ついくつかの便利なパラメータについて説明します。
json.dumps()
とは?
Pythonのjson.dumps()
関数は、PythonオブジェクトをJSON形式の文字列に変換するために使用されます。dumps
の「s」は「dump string」を意味します。JSONデータをファイルに直接書き込むjson.dump()
とは異なり、dumps()
はJSONデータを文字列として返すため、JSONデータを保存または送信する必要がある場合に便利です。
基本的な使い方
json.dumps()
の基本的な使用例を以下に示します。
import json data = { "name": "Alice", "age": 30, "is_student": False } json_string = json.dumps(data) print(json_string)
出力:
{"name": "Alice", "age": 30, "is_student": false}
PythonのFalse
がJSONのfalse
に変換され、キーが二重引用符で囲まれていることに注意してください。
一般的なパラメータ
json.dumps()
は、出力をカスタマイズするためのいくつかのオプションパラメータを受け入れます。
1. indent
JSON文字列をより読みやすくするためにインデントを追加します。
json_string = json.dumps(data, indent=4) print(json_string)
出力:
{ "name": "Alice", "age": 30, "is_student": false }
2. sort_keys
出力でキーをアルファベット順にソートします。
json_string = json.dumps(data, sort_keys=True) print(json_string)
出力:
{"age": 30, "is_student": false, "name": "Alice"}
3. separators
アイテムとキーと値の区切り文字を制御します。デフォルトは(“, ”, “: ”)
ですが、よりコンパクトにすることができます。
json_string = json.dumps(data, separators=(