Python 在处理 JSON 数据方面有很强大的支持。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于Web开发和数据存储。以下是一些使用 Python 处理 JSON 数据的常见方法:
1. 解析 JSON 数据:
使用内置的 json
模块,你可以将 JSON 数据解析为 Python 对象(字典或列表)。
import json
# JSON字符串
json_str = '{"name": "John", "age": 30, "city": "New York"}'
# 解析为字典
data = json.loads(json_str)
print(data)
2. 将 Python 对象转换为 JSON:
使用 json.dumps()
函数将 Python 对象转换为 JSON 格式的字符串。
import json
# Python 字典
data = {
"name": "John", "age": 30, "city": "New York"}
# 转换为 JSON 字符串
json_str = json.dumps(data)
print(json_str)
3. 读取和写入 JSON 文件:
使用 json.dump()
将 Python 对象写入 JSON 文件,使用 json.load()
从 JSON 文件中读取数据。
import json
# 写入 JSON 文件
data = {
"name": "John", "age": 30, "city": "New York"}
with open('data.json', 'w') as f:
json.dump(data, f)
# 读取 JSON 文件
with open('data.json', 'r') as f:
loaded_data = json.load(f)
print(loaded_data)
4. 处理复杂的 JSON 结构:
如果 JSON 数据包含嵌套的结构,你可以通过指定 json.loads()
的 object_hook
参数来处理它。
import json
# JSON字符串
json_str = '{"name": "John", "age": 30, "address": {"city": "New York", "zip": "10001"}}'
# 自定义处理函数
def custom_decoder(obj):
if 'address' in obj:
obj['address']['zip'] = '*****'
return obj
# 解析为字典
data = json.loads(json_str, object_hook=custom_decoder)
print(data)
这只是 Python 处理 JSON 数据的一些基础方法。根据你的需求,你可能需要更复杂的操作,比如处理日期、自定义序列化等。在这种情况下,你可以查阅 官方文档 以获取更详细的信息。