在不知道JSON结构的情况下获取所有JSON键的值,可以使用递归的方式遍历JSON对象中的所有键和值。
下面是一个示例代码,可以获取所有JSON键的值:
def get_all_json_values(json_obj):
# 如果是字典类型,则遍历字典
if isinstance(json_obj, dict):
for key, value in json_obj.items():
# 打印键和值
print(key, ":", value)
# 如果值是字典或者列表,递归调用函数
if isinstance(value, (dict, list)):
get_all_json_values(value)
# 如果是列表类型,则遍历列表
elif isinstance(json_obj, list):
for item in json_obj:
# 如果列表元素是字典或者列表,递归调用函数
if isinstance(item, (dict, list)):
get_all_json_values(item)
# 示例JSON数据
json_data = {
"key1": "value1",
"key2": "value2",
"key3": {
"key4": "value4",
"key5": "value5"
},
"key6": [
"value6",
"value7",
{
"key7": "value8"
}
]
}
# 调用函数获取所有JSON键的值
get_all_json_values(json_data)
运行以上代码,会输出JSON中所有键和对应的值:
key1 : value1
key2 : value2
key4 : value4
key5 : value5
key7 : value8
value6
value7
注意,上述代码中的打印操作可以根据需要进行相应的处理,比如将键和值存储到一个列表或字典中,以便后续使用。