1. JSON与XML数据处理概述
在现代软件开发中,数据交换是不可或缺的环节。作为Python开发者,掌握JSON和XML这两种主流数据格式的处理方法至关重要。JSON以其轻量级和易读性著称,而XML则因其结构化和可扩展性在特定场景下依然不可替代。
我最初接触JSON处理是在开发一个天气预报API接口时,当时需要将获取的数据转换为Python对象进行分析。而XML则是在处理企业级配置文件时不得不面对的挑战。这两种格式各有优劣,但都是开发者必须掌握的技能。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. JSON数据处理详解
2.1 JSON基础与Python支持
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于ECMAScript的一个子集。Python通过内置的json模块提供了完整的JSON支持,无需额外安装。
python复制import json
# 基本JSON字符串示例
basic_json = '{"name": "Alice", "age": 30, "city": "New York"}'
注意:JSON字符串必须使用双引号,单引号会导致解析错误。这是JSON规范的一部分,不是Python的限制。
2.2 JSON解析与序列化
2.2.1 解析JSON字符串
将JSON字符串转换为Python对象使用json.loads()方法:
python复制data = json.loads(basic_json)
print(type(data)) # <class 'dict'>
print(data['name']) # Alice
在实际项目中,我经常遇到需要处理嵌套JSON的情况:
python复制nested_json = '''
{
"employee": {
"name": "John",
"age": 30,
"departments": ["IT", "HR"]
}
}
'''
employee_data = json.loads(nested_json)
print(employee_data['employee']['departments'][0]) # IT
2.2.2 序列化Python对象
将Python对象转换为JSON字符串使用json.dumps()方法:
python复制python_dict = {
"name": "Bob",
"age": 25,
"is_student": False,
"courses": ["Math", "Physics"]
}
json_str = json.dumps(python_dict)
print(json_str)
为了提高可读性,可以添加缩进参数:
python复制pretty_json = json.dumps(python_dict, indent=4)
print(pretty_json)
经验分享:在处理中文内容时,务必设置ensure_ascii=False参数,否则中文字符会被转义为Unicode编码。
2.3 文件读写操作
2.3.1 写入JSON文件
python复制data_to_save = {
"users": [
{"id": 1, "name": "Alice"},
{"id": 2, "name": "Bob"}
]
}
with open('users.json', 'w', encoding=
