给出以JSON格式组织的数据(代码示例如下)如何获得与给定值相关联的键和子键的路径?在
即
输入“23314”时,我们需要返回一个列表: 法内罗佐科、塞诺佐科、第四纪、更新世、苏必利尔。在
由于数据是一个json文件,因此我们使用python和json lib对其进行了解码:
import json
def decode_crono(crono_file):
with open(crono_file) as json_file:
data = json.load(json_file)
现在我们不知道如何对待它,以获得我们所需要的。 我们可以访问如下密钥:
k=数据[“Fanerozoico”][“Cenozoico”][“Quaternario”][“更新世”].keys()
或者像这样的值:
v=数据[“Fanerozoico”][“Cenozoico”][“Quaternario”][“更新世”][“Superior”].values()
但这离我们需要的还很远。在
^{pr2}$
假设您需要完整的字典路径,直到名为id的键具有特定值,下面是一个递归解决方案,它迭代整个dict。请记住:
代码:
很难确切地理解您在这里想要的是什么,但是由于某种原因,您似乎有一堆嵌套的json,您希望在其中搜索一个
id
并返回一个表示json嵌套路径的列表。如果是这样的话,快速而简单的方法是在字典(从json.load
)上递归并收集键。当您找到与您正在搜索的'id'
匹配的'id'
键时,就完成了。下面是一些代码:嵌套函数的原因是去掉
'id'
键,否则它将位于列表的末尾。在这实际上只是为了让你知道一个解决方案可能是什么样子。Beware the python recursion limit!在
相关问题 更多 >
编程相关推荐