Pythonの辞書をJSONに変換する方法
James Reed
Infrastructure Engineer · Leapcell

Key Takeaways
json.dumps()
を使用して、Pythonの辞書をJSON形式の文字列に変換します。json.dump()
を使用して、JSONデータを直接ファイルに書き込みます。indent
パラメータは、JSONをきれいに整形して可読性を向上させます。
Pythonを扱う際、特にウェブ開発やデータ交換において、辞書をJSON(JavaScript Object Notation)に変換することは、一般的で不可欠なタスクです。JSONは軽量なデータ交換フォーマットであり、人間が読み書きしやすく、機械が解析・生成しやすいのが特徴です。
この記事では、Pythonの辞書を組み込みのjson
モジュールを使ってJSON文字列に変換する方法を、実践的な例とヒントを交えて解説します。
json
モジュールのインポート
Pythonには、JSONデータを簡単にエンコードおよびデコードできる標準ライブラリjson
が用意されています。使用する前に、インポートする必要があります。
import json
Python辞書の作成
まず、サンプル辞書から始めましょう。
data = { "name": "Alice", "age": 30, "is_employee": True, "departments": ["HR", "Finance"], "details": { "position": "Manager", "full_time": True } }
辞書からJSON文字列への変換
json.dumps()
メソッドを使用すると、Pythonの辞書をJSON形式の文字列に変換できます。
json_string = json.dumps(data) print(json_string)
出力:
{"name": "Alice", "age": 30, "is_employee": true, "departments": ["HR", "Finance"], "details": {"position": "Manager", "full_time": true}}
注意点:
- Pythonの
True
とFalse
は、JSONではtrue
とfalse
になります。 - 辞書はデフォルトで1行のJSON文字列に変換されます。
JSONの整形表示
出力をより読みやすくするために、indent
パラメータを使用できます。
json_string = json.dumps(data, indent=4) print(json_string)
出力:
{ "name": "Alice", "age": 30, "is_employee": true, "departments": [ "HR", "Finance" ], "details": { "position": "Manager", "full_time": true } }
JSONをファイルに書き込む
JSONデータをファイルに保存する場合は、dumps()
の代わりにjson.dump()
を使用します。
with open("data.json", "w") as file: json.dump(data, file, indent=4)
結論
json
モジュールを使用すると、Pythonの辞書をJSONに簡単に変換できます。API、構成ファイル、またはデータストレージのために、わずか数行のコードでデータをシリアライズできます。文字列の場合はdumps()
、ファイルに直接書き込む場合はdump()
を使用し、可読性を向上させるためにindent
のようなパラメータを活用することを忘れないでください。
FAQs
dumps()
は文字列を返します。dump()
はファイルに直接書き込みます。
PythonのTrue
とFalse
は、JSONではtrue
とfalse
になります。
はい、dumps()
またはdump()
でindent
パラメータを使用します。
Leapcellは、バックエンドプロジェクトをホストするための最高の選択肢です。
Leapcellは、ウェブホスティング、非同期タスク、およびRedisのための次世代サーバーレスプラットフォームです:
多言語サポート
- Node.js、Python、Go、またはRustで開発できます。
無制限のプロジェクトを無料でデプロイ
- 使用量に対してのみ料金が発生 - リクエストなし、料金なし。
圧倒的なコスト効率
- アイドル料金なしの従量課金。
- 例:25ドルで平均応答時間60msで694万リクエストをサポートします。
合理化された開発者エクスペリエンス
- 楽なセットアップのための直感的なUI。
- 完全に自動化されたCI/CDパイプラインとGitOps統合。
- 実用的な洞察を得るためのリアルタイムのメトリックとロギング。
容易なスケーラビリティと高性能
- 容易に高同時性を処理するための自動スケーリング。
- 運用上のオーバーヘッドはゼロ - 構築に集中するだけです。
詳細については、ドキュメントをご覧ください!
Xでフォローしてください:@LeapcellHQ