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

序列化和解析各做什么
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






