要实现多层嵌套的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中获取特定的值。

