Здравствуйте!
Разрабатываю библиотеку для обёртки API на Python. Получаю вложенные JSON-данные и хочу преобразовать их в объекты с атрибутами и аннотациями типов, чтобы IDE пользователей предлагали автодополнение и проверки типов.
Пример данных:
example_data = {
'fruits': {
'apple': {
'color': 'red',
'taste': 'sweet',
'quantity': 10,
'prices': [
{'store': 'Store A', 'price': 1.2},
{'store': 'Store B', 'price': 1.3},
{'store': 'Store C', 'price': 1.5}
]
},
# ... другие фрукты
},
# ... овощи
}
Пример текущего доступа к данным:
# Через get или []
example_data['fruits']['apple']['color']
Что я хочу:
# type(example_data.fruits.apple.quantity) is int == True (Т.е. с аннотациями)
example_data.fruits.apple.quantity
Пример итераторов (для цикла for):
for item in example_data['fruits']['apple']['prices']:
print(item['store'])
Что я хочу:
# example_data.fruits.apple.prices is list == True
for item in example_data.fruits.apple.prices:
print(item.store)