[英]How can I use a string representing a path of dict key as a dict key in Python?
我有代表 JSON 關鍵路徑的字符串。 我想將它們用於 go 以獲取我嵌套的 JSON 數據中該路徑的實際值,如下所示:
path_a = "['id']"
path_b = "['users'][0]['address']['street']"
path_c = "['houses'][2]['block'][0]['is_viable']"
print(json_data[path_a])
print(json_data[path_b])
print(json_data[path_c])
如您所料,打印返回錯誤:
KeyError: "['id']"
有沒有辦法實現我想要做的事情? 我在這里給出了幾個路徑示例,但關於我的代碼的主要內容是我無法提前知道路徑中將有多少個“鍵”,所以我不能簡單地鍵入print(json_data[path[0]][path[1]][path[2]][path[3]][path[4]])
。
# Get a given data from a dictionary with position provided as a list
def getFromDict(dataDict, mapList):
for k in mapList: dataDict = dataDict[k]
return dataDict
# Set a given data in a dictionary with position provided as a list
def setInDict(dataDict, mapList, value):
for k in mapList[:-1]: dataDict = dataDict[k]
dataDict[mapList[-1]] = value
這些功能對我想要做的事情來說就像一個魅力!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.