簡體   English   中英

如何在 Python 中使用表示字典鍵路徑的字符串作為字典鍵?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM