遍历嵌套的JSON对象可以使用递归方法来实现。下面是一个示例代码:
def traverse_json(obj, key=None):
if isinstance(obj, dict):
for k, v in obj.items():
if key is not None:
k = f"{key}.{k}"
traverse_json(v, key=k)
elif isinstance(obj, list):
for i, v in enumerate(obj):
k = f"{key}[{i}]"
traverse_json(v, key=k)
else:
print(f"{key}: {obj}")
# 示例JSON对象
json_obj = {
"name": "John",
"age": 30,
"address": {
"street": "123 Main St",
"city": "New York"
},
"phone_numbers": ["123456789", "987654321"]
}
# 遍历JSON对象
traverse_json(json_obj)
运行以上代码将输出如下结果:
name: John
age: 30
address.street: 123 Main St
address.city: New York
phone_numbers[0]: 123456789
phone_numbers[1]: 987654321
该示例代码通过递归实现了对嵌套的JSON对象的遍历。在遍历过程中,会打印每个键值对的路径和对应的值。如果值是字典或列表,会继续递归调用来遍历其内部的键值对。