25

jsonとしてUnicode文字を含む文字列をダンプすると、奇妙なUnicodeエスケープシーケンスが生成されます。

text = "⌂⚘いの法嫁"
print(text) # output: ⌂⚘いの法嫁

import json
json_text = json.dumps(text)
print(json_text) # output: "\u2302\u2698\u3044\u306e\u6cd5\u5ac1"

代わりに、この出力を取得したいと思います。

"⌂⚘いの法嫁"

Unicode文字をエスケープシーケンスではなく文字としてダンプするにはどうすればよいですか?

4

1 に答える 1

42

json.dumpsで呼び出すensure_ascii=False

json_string = json.dumps(json_dict, ensure_ascii=False)

Python 2では、戻り値はunicodeの代わりになるため、他の処理を行う前に戻り値を指定することstrをお勧めします。encode

于 2012-08-01T12:24:34.403 に答える