A feladatomban egy megadott formátumú JSON fájlból kell beolvasnom dolgokat. Itt feltételezhető, hogy a paraméterként megadott JSON fájl megfelelő formátumú, vagy kezeljem le a hibákat, ha nem. Gondolok itt pl. a következőre:
Egy JSON object egy Python dictre képződik le, és így megindexelhető egy string kulccsal. Pl. ha a dictet egy config nevű változóval tároltam el, akkor a config["Username"] szintaxissal érhetem el a dict "Username" kulcsához tartozó értéket, ami megfelel az eredeti JSON object ugyanezen kulcsához tartozó értéknek. De mi van, ha a paraméterként megadott JSON fájlban azon a helyen, ahol egy JSON objectnek kellene lennie, pl. egy JSON array van? Ekkor ez egy Python listre képeződik le, és egy string kulccsal való megindexelés esetén TypeError hiba dobódik ("list indices must be integers, not str"). Ha JSON object van, akkor meg tudom indexelni, de pl. ha nem létezik a "Username" kulcs, akkor KeyError keletkezik.
A kérdés az, hogy ilyenkor mi a jó megoldás: (a) ellenőrizzem, hogy mire képződött le az adott JSON entitás, majd nézzem meg, hogy létezik-e az adott kulcs; vagy (b) kapjam el az esetlegesen keletkező hibákat; vagy (c) ne foglalkozzak ezzel, és feltételezzem, hogy a megadott JSON fájl olyan formátumú, amilyet a feladatban megadtak?
Megjegyzés: persze ha a bemenet pl. nem is JSON, vagy hibás a szintaxisa, akkor a parse-olásnál már hiba keletkezik, így a kérdés nem erre irányul, hanem arra, hogy mit tegyek, ha a bemenet egy szintaktikailag helyes JSON fájl, csak éppen mást tartalmaz, mint amit a szkript várna.
Előre is köszönöm.