gpt4 book ai didi

python - 当索引位于列表中时使用嵌套属性遍历 JSON - python

转载 作者:行者123 更新时间:2023-12-01 08:53:50 27 4
gpt4 key购买 nike

当索引位于 Python 列表中时,有没有办法遍历 JSON。

JSON:

{
"id" : "abc",
"Obj1":
{
"Obj1":{
"Name" : "123456789"
}
}
}

按照惯例,我们可以访问 JSON 索引:

data['Obj1']['Obj1']['Name'] >>Output is 123456789

但是如果索引位于如下列表中,如何遍历它并更改同一“数据”json 对象中的值:

['Obj1','Obj1','Name']

需要一种通过使用列表代替硬代码索引来遍历该位置的方法。

我还需要用“XYZ”替换该值,因此最终的json应该是“{“id”:“abc”,“Obj1”:{“Obj1”:{“Name”:“XYZ”} } }“

最佳答案

您可以将functools.reducedict.get一起使用:

from functools import reduce
path = ['Obj1','Obj1','Name']
print(reduce(lambda a, b: a[b], path, data))

这将返回:123456789

如果您需要为给定路径上的字典分配新值'XYZ',则需要在叶子上方的级别执行此操作:

reduce(lambda a, b: a[b], path[:-1], data)[path[-1]] = 'XYZ'

关于python - 当索引位于列表中时使用嵌套属性遍历 JSON - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52915855/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com