温馨提示×

json包含多个对象怎么解析

小亿
305
2023-08-25 18:21:03
栏目: 编程语言

解析包含多个对象的 JSON 可以使用以下方法:

  1. 如果 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
  1. 如果 JSON 包含多个顶级对象,你可以使用 JSON 解析器的 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 对象,然后根据解析后的对象类型进行相应的操作。

0