迭代JSON并保存到列表的方法可以使用递归算法来实现。下面是一个示例代码:
def iterate_json(json_data, result_list):
if isinstance(json_data, dict):
for key, value in json_data.items():
if isinstance(value, (dict, list)):
iterate_json(value, result_list)
else:
result_list.append((key, value))
elif isinstance(json_data, list):
for item in json_data:
iterate_json(item, result_list)
上述代码中,json_data
是要迭代的 JSON 数据,result_list
是保存结果的列表。该函数首先判断 JSON 数据的类型,如果是字典类型,就遍历其键值对。如果值是字典或列表类型,就递归调用迭代函数。如果值是其他类型,就将键值对添加到结果列表中。如果 JSON 数据是列表类型,则对列表中的每个元素递归调用迭代函数。
使用示例:
import json
json_data = '''
{
"name": "John",
"age": 30,
"city": "New York",
"pets": [
{
"name": "Fluffy",
"type": "cat"
},
{
"name": "Fido",
"type": "dog"
}
]
}
'''
data = json.loads(json_data)
result = []
iterate_json(data, result)
for key, value in result:
print(key, value)
输出结果:
name John
age 30
city New York
name Fluffy
type cat
name Fido
type dog
这个方法可以迭代任意层级的嵌套 JSON 数据,并将键值对保存到一个列表中。关于JSON的更多概念、用法和实际应用场景,可以参考腾讯云的 JSON 数据类型 相关文档。
领取专属 10元无门槛券
手把手带您无忧上云