Python:
使用JSON进行编程
如何操作:
Python 内置的 json
库简化了编码(将 Python 对象转换为 JSON)和解码(将 JSON 转换为 Python 对象)的过程。以下是您如何使用它的方法:
将 Python 对象编码为 JSON:
import json
data = {
"name": "John Doe",
"age": 30,
"isEmployee": True,
"addresses": [
{"city": "New York", "zipCode": "10001"},
{"city": "San Francisco", "zipCode": "94016"}
]
}
json_string = json.dumps(data, indent=4)
print(json_string)
输出:
{
"name": "John Doe",
"age": 30,
"isEmployee": true,
"addresses": [
{
"city": "New York",
"zipCode": "10001"
},
{
"city": "San Francisco",
"zipCode": "94016"
}
]
}
将 JSON 解码为 Python 对象:
json_string = '''
{
"name": "John Doe",
"age": 30,
"isEmployee": true,
"addresses": [
{
"city": "New York",
"zipCode": "10001"
},
{
"city": "San Francisco",
"zipCode": "94016"
}
]
}
'''
data = json.loads(json_string)
print(data)
输出:
{
'name': 'John Doe',
'age': 30,
'isEmployee': True,
'addresses': [
{'city': 'New York', 'zipCode': '10001'},
{'city': 'San Francisco', 'zipCode': '94016'}
]
}
使用第三方库:
对于复杂的 JSON 处理,比如架构验证或直接从URL解析JSON文件,例如使用 requests
库进行HTTP请求和使用 jsonschema
库进行验证,可能会很有帮助。
使用 requests
从 URL 解析 JSON 的示例:
import requests
response = requests.get('https://api.example.com/data')
data = response.json()
print(data)
这段代码从给定的 URL 获取 JSON 数据并直接将其转换为 Python 对象。
使用 jsonschema
验证 JSON:
首先,通过 pip 安装库:
pip install jsonschema
然后,按照以下方式使用它:
from jsonschema import validate
import jsonschema
schema = {
"type": "object",
"properties": {
"name": {"type": "string"},
"age": {"type": "number"},
"isEmployee": {"type": "boolean"},
},
"required": ["name", "age", "isEmployee"]
}
# 假设 `data` 是从 JSON 解码获得的字典
try:
validate(instance=data, schema=schema)
print("Valid JSON data.")
except jsonschema.exceptions.ValidationError as err:
print("Validation error:", err)
这个示例对您的 Python 字典(从解码的 JSON 数据获得)根据预定义的架构进行验证,确保数据符合预期的格式和类型。