You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何在json.dumps输出时保留Unicode字符不转为转义序列

解决方法

json.dumps()默认开启ensure_ascii参数,会自动将所有非ASCII字符转义为\u开头的编码序列,你只需要调整两个配置即可保留原始Unicode字符:

  1. 给json.dumps()添加ensure_ascii=False参数,关闭非ASCII字符自动转义
  2. 打开文件时显式指定编码为utf-8,避免不同系统默认编码不一致导致写入乱码

修正后的代码如下:

# 写法1:保持原有的write逻辑,仅补充参数
with open(TEXT_JSON, 'w', encoding='utf-8') as f:
    f.write(json.dumps(bible_text, sort_keys=True, indent=2, ensure_ascii=False))

# 写法2:直接用json.dump写入文件对象,写法更简洁
with open(TEXT_JSON, 'w', encoding='utf-8') as f:
    json.dump(bible_text, f, sort_keys=True, indent=2, ensure_ascii=False)

注意事项

  • 调整后输出的JSON会直接保留原始希伯来语等Unicode字符,可读性符合要求
  • 后续读取该JSON文件时,也需要指定encoding='utf-8'读取,避免出现乱码

内容的提问来源于stack exchange,提问作者etayluz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 07:45:03