对象的序列化与反序列化
1. JSON 概述:异构系统交换的“通行证”
在前面的章节中,我们学习了如何读写基础的文本和二进制文件。但在实际开发(如 Daoman Python AI 的后端通信)中,一个更现实的问题是:如何将内存中的列表(List)或字典(Dict)完整地保存到文件,并能被其他语言(如 JavaScript 或 Java)无损读取?
答案就是 JSON (JavaScript Object Notation)。
JSON 最初是 JavaScript 中创建对象的字面量语法,但因其结构紧凑、纯文本、跨平台的特性,现已取代 XML 成为异构系统间交换数据的事实标准。无论是调用网络 API,还是存储模型配置文件,JSON 都是首选。
JavaScript 与 Python 的数据类型映射
JSON 的结构与 Python 字典极其相似,支持深层嵌套。以下是两种语言在处理 JSON 时的类型对应表:
表 1:JSON 类型 ➔ Python 类型
2. 读写 JSON 格式数据
Python 内置的 json 模块提供了强大的双向转换支持。我们需要掌握四个核心函数:
dump:将对象序列化并写入文件。dumps:将对象处理成 JSON 格式的字符串。load:从文件中读取并反序列化为对象。loads:从字符串中解析并还原为对象。
实战演示:序列化与保存
3. 包管理工具 pip 与性能优化
在处理 Kronos 项目等海量数据场景时,标准库 json 的性能可能成为瓶颈。此时,我们可以利用 Python 繁荣的生态圈,使用更高效的三方库 ujson。
pip 核心操作指南
pip 是 Python 的包管理工具,用于安装、卸载和管理三方库。
- 配置国内镜像(加速下载):
- 安装高性能库:
- 常用命令速查:
pip list:查看已安装库。pip install -U 库名:更新库。pip uninstall 库名:删除库。
4. 实战:通过网络 API 获取实时数据
目前绝大多数的网络 API 都是基于 HTTP/HTTPS 协议返回 JSON 数据。在 Daoman Python AI 平台中,我们推荐使用简单且强大的 requests 库。
示例:获取国内实时新闻
(需先执行 pip install requests)
5. 总结
- 序列化:将内存对象转为可存储/传输的字节流(如 JSON 字符串)。
- 反序列化:从字节流中提取并还原原始数据结构。
- 掌握 JSON 处理是现代开发者的基本功,无论是前后端分离、微服务通信还是对接第三方 API,都离不开这一核心技术。

