タイトル: 辞書型を文字列に変換する方法
SEOタイトル: Pythonの辞書型(dict)を文字列(string)に変換する方法
結論
Python の辞書型 dict を文字列に変換したい場合、JSON 形式で扱うなら json.dumps() を使うのが基本です。
|
import json data = {"key1": "val1", "key2": "val2"} text = json.dumps(data) |
出力例
|
{"key1": "val1", "key2": "val2"} |
str() との違い
str(dict) でも文字列化はできますが、JSON として使う前提なら json.dumps() の方が安全です。
str(): Python の表現として文字列化するjson.dumps(): JSON 文字列として変換する
API 連携、ファイル保存、JavaScript への受け渡しなどでは json.dumps() を使う方が扱いやすいです。
日本語をそのまま出したい場合
日本語が \\uXXXX 形式にエスケープされるのを避けたい場合は ensure_ascii=False を付けます。
|
import json data = {"message": "こんにちは"} text = json.dumps(data, ensure_ascii=False) |
整形して見やすくしたい場合
デバッグやログ確認で読みやすくしたい場合は indent を付けます。
|
pretty = json.dumps(data, ensure_ascii=False, indent=2) |
文字列から dict に戻す場合
逆変換したい場合は json.loads() を使います。
|
text = '{"key1": "val1", "key2": "val2"}' data = json.loads(text) |
まとめ
辞書型を文字列に変換する基本は json.dumps() です。
単純な表示だけなら str() でもよいですが、JSON として扱う可能性があるなら最初から json.dumps() を使う方が実用的です。