Mam problemy podczas analizowania JSON-a z pythonem, a teraz utknąłem.
Problem polega na tym, że podmioty mojego JSON nie zawsze są takie same. JSON jest coś takiego:Parsowanie JSON-a z pythonem: puste pola
"entries":[
{
"summary": "here is the sunnary",
"extensions": {
"coordinates":"coords",
"address":"address",
"name":"name"
"telephone":"123123"
"url":"www.blablablah"
},
}
]
mogę przejść przez JSON, na przykład:
for entrie in entries:
name =entrie['extensions']['name']
tel=entrie['extensions']['telephone']
Problem pojawia się, ponieważ czasami, JSON nie wszystkie „pola”, na przykład, pola telephone
, czasami brakuje, więc skrypt kończy się niepowodzeniem z KeyError
, ponieważ w tym wpisie brakuje klucza telefon.
Moje pytanie: w jaki sposób mogę uruchomić ten skrypt, pozostawiając puste miejsce, w którym brakuje telefon? Próbowałem z:
if entrie['extensions']['telephone']:
tel=entrie['extensions']['telephone']
ale myślę, że nie jest w porządku.
ładne, lubię to lepsze niż 'defaultdict 'ponieważ w metodzie' __missing__' można dodać trochę logiki, aby złapać potencjalny błąd. Z 'defaultdict' zawsze się boję, ponieważ nie otrzymam KeyError, gdy robię literówkę. –