晴耕雨読

working in the fields on fine days and reading books on rainy days

[Python] json.dumps()で日本語が\uXXXXになるときの対処法

json.dumps()で日本語が\uXXXXになるときの対処法について説明します。

PythonにはJSONを扱うための組み込みライブラリ json が存在します。 しかし、デフォルトでは、json.dump(ファイルに出力する関数)やjson.dumps(文字列として出力する関数)を使用すると、Unicode文字列は\uXXXX形式でエンコードされてしまいます。

import json
print(json.dumps({'項目名': '値'}))
# => '{"\\u9805\\u76ee\\u540d": "\\u5024"}'

対処法として、引数に ensure_ascii=False を追加すると、日本語のまま出力されます。

print(json.dumps({'項目名': '値'}, ensure_ascii=False))
# => '{"項目名": "値"}'

以上です。