【发布时间】:2020-10-20 14:46:48
【问题描述】:
我从 API 返回 JSON 数据。数据集很大且嵌套。我可以像这样访问Datenreihen 键:
jsondata.get("Ergebnis")[0].get("Kontakte").get("Datenreihen")
如您所见,这是字典和列表的混合体。
我尝试了以下方法,但列表不起作用:-(。
def recursive_lookup(k, d):
if k in d:
return d[k]
for v in d.values():
if isinstance(v, dict):
return recursive_lookup(k, v)
return None
# Works
recursive_lookup("Ergebnis", jsondata)
# Returns None
recursive_lookup("Datenreihen", jsondata)
无论我的对象嵌套多深,是否有一种简单的方法可以访问和键入我的字典?
这是示例数据:
{
"Success":true,
"Ergebnis":[
{
"ErgA1a: KPI Zeitreihe":{
"Message":"",
"MitZielgruppe":true,
"Beschriftung":[
"2019 KW 27",
"2019 KW 28",
"2019 KW 29"
],
"Datenreihen":{
"Gesamt":{
"Name":"Sympathie [#4]\n(Sehr sympathisch, Sympathisch)",
"Werte":[
39.922142815641145,
37.751410794385762,
38.35504885993484
]
}
}
}
}
],
"rest":[
{
"test":"bla"
}
]
}
data.get("ErgebnisseAnalyse")[0].get("ErgA1a: KPI Zeitreihe")
recursive_lookup("ErgA1a: KPI Zeitreihe", data)
【问题讨论】:
-
你能举一个简单的例子来说明它不适用的数据吗?
-
更新问题
标签: python dictionary recursion nested