Python JSON 加载/转储会破坏 Unicode?

标签 python json unicode

将包含 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/

相关文章:

python - Pyspark HiveContext.table 和 HiveContext.sql 性能

python - 为什么 Elixir/SQLAlchemy 的 session.bind 在线程内设置为 None?

Javascript - 仅输入拉丁文和日文数字

Python:如何将 Windows 1251 转换为 Unicode?

java - JNA getFieldOrder() 导致名称在 HashSet() 比较中不匹配(JNA 的 Structure.java,第 925 行)

python - 使用另一个二维数组的索引提取二维数组的元素

python 名称错误 : global name '__file__' is not defined

java - 我正在尝试从 JAVA arraylist 创建 JSON 对象并将其存储在单个 JSON 数组中,但出现 NullPointer 异常。在正文中添加信息

c# - 将列表中的两个不同实例序列化为单个 json 字符串

Javascript、JSON - 创建表