要保留类型的方式获取嵌套对象的值,可以使用递归方法来遍历嵌套对象。下面是一个使用 Python 代码示例的解决方法:
def get_nested_value(data, keys):
if len(keys) == 1:
return data.get(keys[0])
else:
key = keys[0]
if key in data and isinstance(data[key], dict):
return get_nested_value(data[key], keys[1:])
else:
return None
# 示例数据
data = {
"key1": {
"key2": {
"key3": "value"
}
}
}
# 获取嵌套对象的值
keys = ["key1", "key2", "key3"]
value = get_nested_value(data, keys)
print(value) # 输出: "value"
在上面的示例中,get_nested_value
函数接收两个参数:data
是要遍历的嵌套对象,keys
是要获取的嵌套值的键列表。该函数首先判断 keys
的长度是否为 1,如果是,则直接返回 data
中对应键的值。如果不是,则取出 keys
的第一个键,判断该键是否存在并且对应的值是否为字典类型。如果是,则递归调用 get_nested_value
函数,并传入该键对应的值和剩余的键列表。如果不是,则返回 None。
通过递归地遍历嵌套对象,我们可以保留类型地获取嵌套对象的值。
上一篇:保留类的属性列表。
下一篇:保留类型的同时存储动态获取的数据