Python3读取写入json的中文乱码问题 u82f1 u5bf8

中文写入json,但json文件中显示"\u6731\u5fb7\u57f9",不是中文

1.解决方式

复制# encoding='utf-8',用于确保写入中文不乱码
with open(filename,'w',encoding='utf-8') as f_obj:
    json.dump(username,f_obj)

解决方法:加入ensure_ascii=False

复制with open(filename,'w',encoding='utf-8') as f_obj:
    # ensure_ascii=False,用于确保写入json的中文不发生乱码
    json.dump(username,f_obj,ensure_ascii=False)

2.当目标json文件内容为空时

复制json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

解决方法:新增一个异常

复制# 当username.json为空,这里如果不加入 json.decoder.JSONDecodeError: 异常
# 会导致json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
except json.decoder.JSONDecodeError:
    print("文件内容是空的。")


如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载!
posted @   莫贞俊晗  阅读(834)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
历史上的今天:
2020-04-08 云手机环境安装
点击右上角即可分享
微信分享提示