以下是一个通过递归遍历嵌套的JSON并将其赋值给变量的示例代码:
def assign_values(data, parent_key='', result={}):
# 遍历JSON的每个键值对
for k, v in data.items():
# 构建新的键名
new_key = parent_key + '_' + k if parent_key else k
if isinstance(v, dict):
# 如果值是一个嵌套的字典,则递归调用assign_values函数
assign_values(v, new_key, result)
else:
# 如果值不是一个字典,则将其赋值给result中的对应键名
result[new_key] = v
return result
# 示例JSON数据
json_data = {
"name": "John",
"age": 30,
"address": {
"street": "123 Main St",
"city": "New York",
"state": "NY"
}
}
# 调用assign_values函数并将返回结果赋值给变量
result = assign_values(json_data)
# 打印结果
for k, v in result.items():
print(k, ':', v)
输出结果:
name : John
age : 30
address_street : 123 Main St
address_city : New York
address_state : NY
在此示例中,我们定义了一个名为assign_values
的函数,它接受一个嵌套的JSON对象作为输入,并使用递归方法遍历该对象。对于每个键值对,我们构建一个新的键名,并根据值的类型进行处理。如果值是一个嵌套的字典,我们将递归调用assign_values
函数。如果值不是一个字典,我们将其赋值给result
字典的对应键名。最后,我们遍历result
字典并打印结果。
请注意,这只是一个示例代码,可以根据实际需求进行修改和调整。