該提取值是一個結構,我從其他地方獲得,也就是說,深度嵌套的詞典列表:從深度嵌套的JSON結構
{
"foo_code": 404,
"foo_rbody": {
"query": {
"info": {
"acme_no": "444444",
"road_runner": "123"
},
"error": "no_lunch",
"message": "runner problem."
}
},
"acme_no": "444444",
"road_runner": "123",
"xyzzy_code": 200,
"xyzzy_rbody": {
"api": {
"items": [
{
"desc": "OK",
"id": 198,
"acme_no": "789",
"road_runner": "123",
"params": {
"bicycle": "2wheel",
"willie": "hungry",
"height": "1",
"coyote_id": "1511111"
},
"activity": "TRAP",
"state": "active",
"status": 200,
"type": "chase"
}
]
}
}
}
{
"foo_code": 200,
"foo_rbody": {
"query": {
"result": {
"acme_no": "260060730303258",
"road_runner": "123",
"abyss": "26843545600"
}
}
},
"acme_no": "260060730303258",
"road_runner": "123",
"xyzzy_code": 200,
"xyzzy_rbody": {
"api": {
"items": [
{
"desc": "OK",
"id": 198,
"acme_no": "789",
"road_runner": "123",
"params": {
"bicycle": "2wheel",
"willie": "hungry",
"height": "1",
"coyote_id": "1511111"
},
"activity": "TRAP",
"state": "active",
"status": 200,
"type": "chase"
}
]
}
}
}
問計不同的結構是毫無疑問的(傳統的API等)。
所以我想知道是否有一些聰明的方式從這樣的結構中提取選定的值。
我在想的候選人:
壓扁特別詞典,構建複合鍵,水木清華這樣的:
{ 「foo_rbody.query.info.acme_no」: 「444444」, 「foo_rbody.query.info.road_runner」: 「123」, ... }
臨:讓每個具有一個訪問權限的值,如果可預測的關鍵字不存在,則意味着該結構不在那裏(正如您可能已經注意到的,根據字典是否成功操作,發生錯誤等,字典可能具有不同的結構)。
Con:如何處理列表?
- 使用一些遞歸函數,將做連續的鍵查找,通過「foo_rbody」說,然後通過「查詢」,「信息」等
任何更好的人選?
簡單,非遞歸,緊密。爲什麼我不考慮這樣的弊端?好吧。 – LetMeSOThat4U
偉大的解決方案。性能如何? – advance512