我有一个嵌套的对象,需要一个函数来传递对象和键并返回值。
我不确定哪种方式是开始工作的最佳方式,可以在所有云提供商中使用。
示例输入
object = {“a”:{“b”:{“c”:”d”}}}
key = a/b/c
object = {“x”:{“y”:{“z”:”a”}}}
key = x/y/z
value = a
除了unicode引号,这只是python中的一个字典。
my_object = {"a":{"b":{"c":"d"}}}
print(my_object["a"]["b"]["c"]) # output: d
如果你想把";a/b/c";格式,然后写一个函数在后台进行正常的[]访问:
def slash_access(obj, keys):
keys = keys.split("/")
current = obj
for key in keys:
current = current[key]
return current
my_object = {"a":{"b":{"c":"d"}}}
print(slash_access(my_object, "a/b/c"))
如果您正在处理Python项目,extradict
是一个允许嵌套访问数据结构的第三方库,它使用"quot;事实上,但它的工作方式是这样的:
In [1]: from extradict import NestedData
In [3]: obj = NestedData({"a":{"b":{"c":"d"}}})
In [4]: key = "a.b.c"
In [5]: obj[key]
Out[5]: 'd'
您可以使用pip install extradict
安装extract。免责声明:我是项目的作者和维护者
您可以对json:进行解组
import json
input_string = '{"a":{"b":{"c":"d"}}}'
output_dict = json.loads(input_value)
并使用output_dict
作为字典:
output_dict["a"]
output_dict["a"]["b"]["c"]