以下是一个使用递归方法遍历嵌套JSON对象并将数据追加到变量中的示例代码:
def traverse_json(obj, result):
if isinstance(obj, dict):
for key, value in obj.items():
if isinstance(value, (dict, list)):
traverse_json(value, result)
else:
result.append(value)
elif isinstance(obj, list):
for item in obj:
traverse_json(item, result)
# 示例 JSON 对象
json_obj = {
"name": "John",
"age": 30,
"address": {
"street": "123 Street",
"city": "New York",
"country": "USA"
},
"languages": ["Python", "JavaScript", "Java"]
}
# 用于存储提取的数据的变量
extracted_data = []
# 调用递归函数进行遍历
traverse_json(json_obj, extracted_data)
# 打印提取的数据
print(extracted_data)
输出结果:
['John', 30, '123 Street', 'New York', 'USA', 'Python', 'JavaScript', 'Java']
在上面的示例中,我们定义了一个名为traverse_json
的递归函数,该函数接受一个JSON对象和一个结果列表作为参数。函数首先检查对象的类型,如果是字典类型,则遍历字典的键值对。如果值是字典或列表类型,则递归调用traverse_json
函数。如果值是其他类型(如字符串、数字等),则将其追加到结果列表中。对于列表类型的值,我们也使用递归方法进行遍历。
在主程序中,我们定义了一个示例JSON对象并创建一个空列表extracted_data
用于存储提取的数据。然后调用traverse_json
函数来遍历JSON对象并将数据追加到extracted_data
列表中。最后,我们打印extracted_data
列表来查看提取的数据。
注意:上面的示例代码是使用Python语言编写的,如果您使用的是其他编程语言,可以根据类似的逻辑编写代码。