在Python中,可以使用递归函数来遍历深度嵌套的JSON对象。下面是一个示例代码:
def traverse_json(obj):
if isinstance(obj, dict):
for key, value in obj.items():
if isinstance(value, (dict, list)):
traverse_json(value)
else:
print(key, ":", value)
elif isinstance(obj, list):
for item in obj:
traverse_json(item)
# 示例JSON对象
json_obj = {
"name": "John",
"age": 30,
"address": {
"street": "123 ABC St",
"city": "New York",
"state": "NY"
},
"hobbies": ["reading", "gaming", "coding"]
}
# 调用函数遍历JSON对象
traverse_json(json_obj)
输出结果为:
name : John
age : 30
street : 123 ABC St
city : New York
state : NY
hobbies : reading
hobbies : gaming
hobbies : coding
这个示例代码首先定义了一个名为traverse_json
的递归函数。该函数接受一个参数obj
,该参数可以是任何JSON对象(字典或列表)。函数首先检查obj
的类型,如果是字典,就遍历其中的键值对。对于值为字典或列表的键值对,递归调用traverse_json
函数。如果值是其他类型(如字符串、数字等),则直接打印出键值对。如果obj
是列表,那么就遍历其中的每个元素,递归调用traverse_json
函数。
在示例中,我们定义了一个JSON对象json_obj
,然后调用traverse_json(json_obj)
来遍历该对象。最终,输出了所有的键值对。