Python轻松玩转JSON文件:读写实战指南
JSON(JavaScript Object Notation)已成为现代软件开发中最常用的数据交换格式之一。Python凭借其简洁的语法和强大的标准库,让JSON处理变得异常简单。今天我们来探索Python中处理JSON文件的精髓技巧。
核心模块:json
Python内置的json模块提供了完整解决方案:
import json
# 写入JSON文件
data = {
"name": "张三", "age": 25, "skills": ["Python", "数据分析"]}
with open("data.json", "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=2) # 中文支持 + 美化格式
# 读取JSON文件
with open("data.json", "r", encoding="utf-8") as f:
loaded_data = json.load(f)
print(loaded_data["skills"]) # 输出:['Python', '数据分析']
实用技巧进阶
- 处理复杂对象:自定义序列化器
```python
class User:
def init(self, name, email):self.name = name self.email = email
def user_encoder(obj):
if isinstance(obj, User):
return {"name": obj.name, "email": obj.email}
raise TypeError("无法序列化")
user = User("李四", "lisi@example.com")
json_str = json.dumps(user, default=user_encoder)
2. **流式处理大文件**:
```python
import ijson
with open("large_data.json", "rb") as f:
for item in ijson.items(f, "items.item"):
process_item(item) # 逐项处理,避免内存溢出
实际应用场景
- API数据交互:快速解析API返回的JSON响应
- 配置文件管理:使用JSON存储应用设置
- 数据缓存:将中间结果保存为JSON格式
- 日志记录:结构化日志存储
JSON的简洁性和Python的强大支持,让数据序列化变得轻松愉快。无论是小型配置还是大数据交换,这个组合都能优雅应对。
小问题:你在项目中主要用JSON处理什么类型的数据呢?