2016-08-02 9 views
-6

JSON unterWie parsen Sie diesen JSON in Python?

{"result":[ 
    { 
     "spawn_point_id":"89", 
     "encounter_id":"1421", 
     "expiration_timestamp_ms":"1470105387836", 
     "latitude":38.22, 
     "longitude": -91.27 
    }, 
    { 
     "distance_in_meters":10, 
     "encounter_id":"9677" 
    }, 
    { 
     "distance_in_meters":10, 
     "encounter_id":"1421" 
    }, 
    { 
     "spawn_point_id":"11", 
     "encounter_id":"2142", 
     "expiration_timestamp_ms":"1470105387444", 
     "latitude":38.00, 
     "longitude": -91.00 
    } 
]} 

und ich möchte, dass die Ausgabe aussehen

spawn 89 at lat 38.22 long -91.27 
spawn 11 at lat 38.00 long -91.00 

i json.loads verwendet und es macht eigentlich die json funky aussehen.

-Code so weit unter:

c = json.loads(r.content) 
for d in c['result']: 
    if d['latitude'] is not None: 
     print(str(d['latitude'])) 

scheint Art von Arbeit, aber dann bekommen Fehler

Traceback (most recent call last): 
File "fast0.py", line 11, in <module> 
if d['latitude'] is not None: 
KeyError: 'latitude' 
+1

Es gibt ein 'json' Modul in Python. Es wird ein 'dict'-Objekt wie eine HashMap in Java geladen. Das Lesen der Dokumentation sollte Sie ziemlich weit bringen. –

+0

von funky ich meine, es fügt ein u 'Präfix aller Schlüssel und Werte –

+0

Versuchen Sie 'd.get (' latitude ')' anstelle von 'd [' latitude ']'. –

Antwort

0

Wenn Sie einen Schlüssel suchen, existiert nicht. Versuchen Sie:

c = json.loads(r.content) 
for d in c['result']: 
    if 'latitude' in d: 
     print(str(d['latitude']))