将包含 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 字符转储为字符而不是转义序列?
最佳答案
调用 json.dumps
ensure_ascii=False
:
json_string = json.dumps(json_dict, ensure_ascii=False)
在 Python 2 上,返回值将是 unicode
而不是 str
,因此您可能希望在执行任何其他操作之前对其进行 encode
它。
关于Python JSON 加载/转储会破坏 Unicode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11759070/