Как хранить ключи для словаря JSON, используя Python? - PullRequest
0 голосов
/ 21 января 2020

Я пытаюсь найти хороший способ хранения ключей для словаря на основе JSON, используя Python 2.7. Если я буду хранить их в виде строк, как это показано в приведенном ниже коде, их использование в дальнейшем выглядит очень уродливо. Какой лучший способ сделать это?

import requests
r = requests.get(urlSpecifiedAbove)
dict = r.json()
listKeys = [
"['main']['tabs']['geography']['columns']['overall_rate_performance']['title']",
"['main']['tabs']['geography']['columns']['overall_rate_performance']['revenue_vs_book_rate_revenue']"
]
myCode = 'neededValue = dict' + listKeys[0]
exec(myCode)
print neededValue

1 Ответ

1 голос
/ 21 января 2020

Путь через вложенные диктовки - это список ключей.

path = ['main', 'tabs', 'geography', 'columns', 'overall_rate_performance', 'title']

Вы можете опускать по одной клавише за раз по этому списку:

def get_value_at_path(root, path):
    for key in path:
        root = root[key]

    return root


root = r.json()
path = ['main', 'tabs', 'geography', 'columns', 'overall_rate_performance', 'title']
needed_value = get_value_at_path(root, path)
...