In einem Wort, was ich suche, ist mehr oder weniger ein Äquivalent von SQL nvl() in Python.Wie kann ich eine nvl() tun, um Fehler von nicht vorhandenen JSON-Element zu vermeiden?
Weitere Informationen:
Ich habe eine Schleife Daten aus einer Liste von jsons abruft. Sie sehen alle gleich aus, aber einige von ihnen fehlen einige der Dinge, die ich abrufe. Wenn ich versuche, data['movie']['boxOffice'][0]['admissionCount']
zu erhalten, und es nicht in JSON ist, erhalte ich einen Fehler (Anmerkung: das kann sein, weil 'accessCount' nicht existiert, oder weil 'boxOffice' nicht existiert).
Um dies zu umgehen, ist hier, was für den Moment, wo ich so mache:
try:
admissionCount = data['movie']['boxOffice'][0]['admissionCount']
except:
admissionCount = ''
Es funktioniert gut, aber ich habe ~ 50 Felder, die Möglichkeit zu überprüfen, ...
Ich versuchte es drehen in eine Funktion:
Und dann erkannte, dass es dumm war, und natürlich bekomme ich einen Fehler.
Wie kann ich vermeiden, 50 try/except
Blöcke zu machen?
Dank
richtige Idee, aber nicht ganz: Wenn '[0]' am Eingang arbeitet, war es ein Array, kein Wörterbuch. Daher ist '.get()' nicht genug. – dhke
Danke, aktualisiert –