Получение значений по ключу из JSON

Отправляю запрос на сайт:

response = requests.get('http://localhost/botparking')

Получаю JSON:

print(response.json())

Получаю ответ:

[{'id': 4, 'adress': 'ул. Балканская, 26', 'starttime': '09:00:00', 'endtime': '23:00:00', 'minimaltimeforpayment': '3 часа', 'price': 250, 'numberofavailableseats': 250}, {'id': 3, 'adress': 'ул. Ратная, 27', 'starttime': '00:00:00', 'endtime': '23:59:00', 'minimaltimeforpayment': '1 час', 'price': 150, 'numberofavailableseats': 150}]

Как мне взять отсюда нужным мне данные (adress, например)?


Ответы (1 шт):

Автор решения: Jack_oS

присвойте response.json() переменной (data, например):

data = [{'id': 4, 'adress': 'ул. Балканская, 26', 'starttime': '09:00:00', 'endtime': '23:00:00', 'minimaltimeforpayment': '3 часа', 'price': 250, 'numberofavailableseats': 250}, {'id': 3, 'adress': 'ул. Ратная, 27', 'starttime': '00:00:00', 'endtime': '23:59:00', 'minimaltimeforpayment': '1 час', 'price': 150, 'numberofavailableseats': 150}]

и работайте с ней, как со списком словарей:

>>> data[0]['adress']
'ул. Балканская, 26'

здесь:

  • [0] - обращение к первому словарю в списке data;
  • ['adress'] - вызов значения словаря с ключом 'adress'

Обходом списка можно добраться до каждого из 'adress':

for d in data:
    print(d['adress'])

выведет:

ул. Балканская, 26
ул. Ратная, 27

или сгенерируйте список строк с адресами для дальнейшего использования:

addresses = [d['adress'] for d in data]

>>> addresses
['ул. Балканская, 26', 'ул. Ратная, 27']
→ Ссылка