要遍历和合并JSON中的值,可以使用递归的方式来处理。下面是一个示例代码,该代码可以遍历并合并JSON中的所有值:
import json
def merge_json(json_data, result):
if isinstance(json_data, dict):
for key, value in json_data.items():
if isinstance(value, dict) or isinstance(value, list):
merge_json(value, result)
else:
result[key] = value
elif isinstance(json_data, list):
for item in json_data:
merge_json(item, result)
# 示例JSON
json_str = '''
{
"name": "John",
"age": 30,
"address": {
"street": "123 Main St",
"city": "New York"
},
"hobbies": ["reading", "coding"]
}
'''
# 将JSON字符串解析为字典对象
json_data = json.loads(json_str)
# 创建一个空字典用于存储结果
result = {}
# 调用函数进行遍历和合并
merge_json(json_data, result)
# 输出合并的结果
print(result)
运行以上代码,将会输出以下结果:
{
"name": "John",
"age": 30,
"street": "123 Main St",
"city": "New York",
"hobbies": ["reading", "coding"]
}
这样,我们就遍历并合并了JSON中的所有值。