下面是一个示例代码,该代码可以遍历嵌套的JSON列表,并将一个值添加到列表中:
def add_value_to_json_list(json_list, value):
if isinstance(json_list, list): # 判断是否为列表
for item in json_list:
add_value_to_json_list(item, value)
elif isinstance(json_list, dict): # 判断是否为字典
for key, item in json_list.items():
add_value_to_json_list(item, value)
else:
if isinstance(json_list, list):
json_list.append(value)
elif isinstance(json_list, dict):
json_list['new_value'] = value
# 示例使用
json_data = [
{
"id": 1,
"name": "John",
"children": [
{
"id": 2,
"name": "Alice",
"children": [
{
"id": 3,
"name": "Bob"
}
]
},
{
"id": 4,
"name": "Charlie"
}
]
},
{
"id": 5,
"name": "Emma"
}
]
value_to_add = "New Value"
add_value_to_json_list(json_data, value_to_add)
print(json_data)
这段代码首先判断给定的json_list是否为列表类型,如果是,则遍历列表中的每个元素,递归调用add_value_to_json_list函数。如果列表中的元素是字典类型,再次递归调用add_value_to_json_list函数。
当遍历到不是列表或字典类型的元素时,将新值添加到列表中(如果是列表类型)或将新键值对添加到字典中(如果是字典类型)。
在示例中,我们将"New Value"添加到了每个字典中。输出结果为:
[
{
"id": 1,
"name": "John",
"children": [
{
"id": 2,
"name": "Alice",
"children": [
{
"id": 3,
"name": "Bob",
"new_value": "New Value"
}
],
"new_value": "New Value"
},
{
"id": 4,
"name": "Charlie",
"new_value": "New Value"
}
],
"new_value": "New Value"
},
{
"id": 5,
"name": "Emma",
"new_value": "New Value"
}
]