在遍历嵌套的JSON对象时,如果不知道特定层的名称,可以使用递归函数来处理。递归函数可以在每一层遍历中调用自身,以处理嵌套的层级。
下面是一个使用递归函数来遍历嵌套JSON对象的示例代码:
def traverse_json(obj):
if isinstance(obj, dict): # 处理字典类型的值
for key, value in obj.items():
print(key, ":", value)
traverse_json(value) # 递归调用自身处理嵌套层级
elif isinstance(obj, list): # 处理列表类型的值
for item in obj:
traverse_json(item) # 递归调用自身处理嵌套层级
else: # 处理其他类型的值
print(obj)
# 示例 JSON 对象
json_obj = {
"name": "John",
"age": 30,
"address": {
"street": "123 Street",
"city": "New York"
},
"languages": ["Python", "JavaScript", "Java"]
}
traverse_json(json_obj)
上述代码中的traverse_json
函数会接收一个JSON对象作为参数,并使用递归的方式遍历其所有的键值对。
在处理字典类型的值时,会遍历每个键值对,并对值进行递归调用traverse_json
函数。
在处理列表类型的值时,会遍历每个元素,并对元素进行递归调用traverse_json
函数。
在处理其他类型的值时,直接打印该值。
运行上述代码,输出结果如下:
name : John
age : 30
street : 123 Street
city : New York
Python
JavaScript
Java
可以看到,上述代码成功地遍历了嵌套的JSON对象,并输出了所有的键值对及其他类型的值。
上一篇:遍历嵌套的JSON对象并添加属性