解析包含多个对象的 JSON 可以使用以下方法:
import json
json_str = '[{"name": "John", "age": 30}, {"name": "Jane", "age": 25}]'
data = json.loads(json_str)
for obj in data:
print(obj['name'], obj['age'])
输出:
John 30
Jane 25
object_pairs_hook
参数来将 JSON 解析为 Python 字典,并在字典中保存每个顶级对象的键和值。例如:import json
json_str = '{"person1": {"name": "John", "age": 30}, "person2": {"name": "Jane", "age": 25}}'
data = json.loads(json_str, object_pairs_hook=lambda x: {k: v for k, v in x})
for key, value in data.items():
print(key, value['name'], value['age'])
输出:
person1 John 30
person2 Jane 25
这里使用了 object_pairs_hook=lambda x: {k: v for k, v in x}
来将每个顶级对象保存为一个字典,并将其放入一个父字典中。
无论哪种方法,都需要使用 json.loads()
函数将 JSON 字符串解析为 Python 对象,然后根据解析后的对象类型进行相应的操作。