python json多层嵌套取值怎么实现

avatar
作者
猴君
阅读量:1

要实现多层嵌套的JSON取值,可以使用递归的方式来处理。下面是一个示例代码,演示了如何递归地从JSON中获取值:

def get_value(data, keys):     if len(keys) == 1:         return data.get(keys[0])     else:         key = keys[0]         if key in data:             return get_value(data[key], keys[1:])         else:             return None  # 示例 JSON 数据 data = {     "key1": {         "key2": {             "key3": "value"         }     } }  # 要获取的键的列表 keys = ["key1", "key2", "key3"]  # 获取值 value = get_value(data, keys) print(value)  # 输出: "value" 

在上面的示例代码中,get_value 函数接受两个参数:data 是要处理的JSON数据,keys 是要获取的键的列表。如果 keys 列表的长度为1,则直接从 data 中获取对应的值并返回。否则,提取列表中的第一个键 key,检查它是否存在于 data 中。如果存在,则递归地调用 get_value 函数,将 data[key] 作为新的 data 参数,并将 keys 列表中的剩余部分作为新的 keys 参数传递。如果 key 不存在于 data 中,则返回 None。最终,当 keys 列表被递归地缩小到只剩下一个键时,函数会返回对应的值。

通过递归的方式,可以在多层嵌套的JSON中获取特定的值。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!