以下是一个示例代码,演示如何遍历一个 JSON,并将列表数组添加到对象或数组中:
import json
def add_list_to_json(json_data, list_data):
if isinstance(json_data, dict):
for key, value in json_data.items():
if isinstance(value, (list, dict)):
add_list_to_json(value, list_data)
json_data['list'] = list_data
elif isinstance(json_data, list):
for item in json_data:
if isinstance(item, (list, dict)):
add_list_to_json(item, list_data)
# 示例 JSON 数据
json_str = '''
{
"name": "John",
"age": 30,
"cars": [
{
"name": "Ford",
"models": ["Fiesta", "Focus", "Mustang"]
},
{
"name": "BMW",
"models": ["320", "X3", "X5"]
}
]
}
'''
# 将 JSON 字符串转换为 Python 对象
json_data = json.loads(json_str)
# 要添加的列表数据
list_data = ['Item 1', 'Item 2', 'Item 3']
# 调用函数添加列表数据
add_list_to_json(json_data, list_data)
# 输出更新后的 JSON 数据
updated_json_str = json.dumps(json_data, indent=2)
print(updated_json_str)
上述代码将会输出以下更新后的 JSON 数据:
{
"name": "John",
"age": 30,
"cars": [
{
"name": "Ford",
"models": ["Fiesta", "Focus", "Mustang"],
"list": ["Item 1", "Item 2", "Item 3"]
},
{
"name": "BMW",
"models": ["320", "X3", "X5"],
"list": ["Item 1", "Item 2", "Item 3"]
}
],
"list": ["Item 1", "Item 2", "Item 3"]
}
这个示例代码中的 add_list_to_json
函数会递归地遍历 JSON 数据,并在遇到对象或数组时添加指定的列表数据。