нужно из словаря вытащить подэлемент, вот, примерно, как структура выглядит:
[
{
'components': {
'ISO_3166-1_alpha-2': 'CA',
'ISO_3166-1_alpha-3': 'CAN',
'ISO_3166-2': [
'CA-BC'
],
'_category': 'education',
'_type': 'mosque',
'city': 'Vancouver',
'college': 'Vancouver Pituki College',
'continent': 'North America',
'country': 'Canada',
'country_code': 'ca',
'county': 'Metro Vancouver Regional District',
'house_number': '6123',
'postcode': 'V3J 4V5',
'road': 'West Langley street',
'state': 'British Columbia',
'state_code': 'BC',
'suburb': 'Mount Pleasant'
},
}
]
Я написал на Питончике код, который вот как раз и сделал этот словарь, и, вот теперь мне надо взят объект с ключем city, и его значение вписать в отдельную переменную строкой. Для этого я пишу такое:
city = json_data['components']['city']
Но он мне пишет, дескать:
city = json_data['components']['city']
~~~~~~~~~^^^^^^^^^^^^^^
KeyError: 'components'
И вот либо лыжи не едут, либо еще чего
У вас же лист словарей [{},{},...,{}] Надо либо итерировать, либо извлечь нужный dict из списка
Та ж хрень
Хм. Тут нужны подробности, плес
Ну не может не работать city = json_data[0]['components']['city']
for item in list_of_dict: city = item["components"]["city"] Или city = json_data[0]["components"]["city"]
После применения условия новая ошибка :D TypeError: string indices must be integers, not 'str'
json_data = [ { "components": { "ISO_3166-1_alpha-2": "CA", "ISO_3166-1_alpha-3": "CAN", "ISO_3166-2": ["CA-BC"], "_category": "education", "_type": "mosque", "city": "Vancouver", "college": "Vancouver Pituki College", "continent": "North America", "country": "Canada", "country_code": "ca", "county": "Metro Vancouver Regional District", "house_number": "6123", "postcode": "V3J 4V5", "road": "West Langley street", "state": "British Columbia", "state_code": "BC", "suburb": "Mount Pleasant", }, } ] city = json_data[0]["components"]["city"] print(city)
Хм, у меня так же, но с одинарными кавычками, и не работает
Обсуждают сегодня