Python 编程指南 | 在 JSON 序列化的过程中,如何保证对象属性中的 Unicode 或非 ASCII 字符串能够原样输出
默认情况下,当对象属性包括 Unicode 或非 ASCII 字符串时,使用 Python 的 JSON 模块进行 JSON 序列化,会将这些字符串转换为 \u
转义序列。这个转义序列由一个反斜杠(\
)和一个 u
以及四个十六进制数字组成,代表该字符的 Unicode 码位。
例如,下面示例代码中,将字典对象 my_dict 序列化成 JSON 字符串后,zh
字段的值变为 \u4eba\u751f\u82e6\u77ed\uff0c\u6211\u7528Python\u3002
。
1 | #!/usr/bin/env python3 |
如果要保留字符串原样输出,使用 json.dumps()
方法时需要传入 ensure_ascii=False 参数来保留 Unicode 字符。
具体示例代码如下:
1 | #!/usr/bin/env python3 |
(END)
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.