25

将包含 unicode 字符的字符串转储为 json 会产生奇怪的 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 回答