Python3中如何将含西里尔字母的字典序列化为带原字符的美观JSON
解决Python json.dumps输出西里尔字母时的Unicode转义问题
直接给你最实用的解决方案:在调用json.dumps()的时候,添加ensure_ascii=False参数就能避免Unicode转义,直接输出正常的西里尔字母啦。
为什么会出现转义?
json.dumps()的ensure_ascii参数默认值是True,它会把所有非ASCII编码的字符自动转换成\uXXXX格式的Unicode转义序列,这就是你看到\\u0439\\u0446...的原因。把这个参数设为False,就会保留原始的字符编码。
代码示例
基础使用:
import json output = json.dumps({'a': 'йцукен'}, ensure_ascii=False) print(output) # 输出结果: {"a": "йцукен"}
如果需要将结果写入文件,记得指定文件编码为utf-8,避免出现乱码:
import json with open('result.json', 'w', encoding='utf-8') as file: json.dump({'a': 'йцукен'}, file, ensure_ascii=False)
这样生成的JSON内容里就会直接显示西里尔字母,不会有转义码啦。
内容的提问来源于stack exchange,提问作者Fomalhaut
相关产品推荐
相关产品推荐

