Python读写JSON:中文、类型和错误输入怎么处理

JSON适合交换简单结构化数据,但Python对象与JSON文本不是一回事。读写时区分这两层,再检查字段,错误会更容易定位。

表格数据经过整理后成为结构化卡片
浅色主题概念配图,选自本站AI生成图库;非事件现场或产品实测截图。

序列化和解析各做什么

json.dumps把支持的Python对象转成字符串,json.loads从字符串解析对象。JSON中的true解析后是Python的True;不要用单引号字典文本冒充JSON,也不要用eval处理外部输入。

中文显示与文件编码分开

ensure_ascii=False可以让生成的字符串保留可读中文字符。写入文本文件时,还应明确使用UTF-8等约定编码。它不会替你检查接口要求的字段,也不会让任意Python对象都变得可序列化。

解析成功后再验字段

检查顶层是否为字典、必要键是否存在、值的类型和范围是否符合约定。语法错误会触发JSONDecodeError;缺少业务字段却可能仍是合法JSON。示例演示往返转换,不包含网络请求或真实账户信息。

可复制的练习

import json
original = {"title": "学习笔记", "done": True}
text = json.dumps(original, ensure_ascii=False)
restored = json.loads(text)
assert restored == original
print(text)
print(type(restored["done"]).__name__)

本例在隔离的本地环境检查过,Python 3.14.4;下面列出对应运行结果。

{"title": "学习笔记", "done": true}
bool

参考与延伸阅读

Python 官方文档。本文的学习步骤和练习为本站整理;涉及具体产品或工具时,请同时核对当前版本说明。

资料查阅与编辑日期:2026年9月22日。作者:玖柒。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享