Я использую библиотеку Python JSON с Google Maps API.Я пытаюсь получить почтовый индекс адреса, но иногда он находится в другом ключе словаря.Вот два примера (я обрезал JSON до того, что имеет отношение к делу):
placemark1 = {
"AddressDetails": {
"Country": {
"AdministrativeArea": {
"SubAdministrativeArea": {
"Locality": {
"PostalCode": {
"PostalCodeNumber": "94043"
}
}
}
}
}
}
}
( Просмотреть полный JSON )
placemark2 = {
"AddressDetails": {
"Country" : {
"AdministrativeArea" : {
"Locality" : {
"PostalCode" : {
"PostalCodeNumber" : "11201"
}
}
}
}
}
}
(Посмотреть полный JSON )
Итак, почтовые индексы:
zipcode1 = placemark1['AddressDetails']['Country']['AdministrativeArea']['SubAdministrativeArea']['Locality']['PostalCode']['PostalCodeNumber']
zipcode2 = placemark2['AddressDetails']['Country']['AdministrativeArea']['Locality']['PostalCode']['PostalCodeNumber']
Теперь я подумал, что, возможно, мне следует просто найти в многомерном словаре ключ "PostalCodeNumber"
.У кого-нибудь есть идеи, как этого добиться?Я хочу, чтобы это выглядело примерно так:
>>> just_being_a_dict = {}
>>> just_a_list = []
>>> counter_dict = {'Name': 'I like messing things up'}
>>> get_key('PostalCodeNumber', placemark1)
"94043"
>>> get_key('PostalCodeNumber', placemark2)
"11201"
>>> for x in (just_being_a_dict, just_a_list, counter_dict):
... get_key('PostalCodeNumber', x) is None
True
True
True