2016-08-02 2 views
-6

JSON нижеКак вы разбираете этот JSON в 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 
    } 
]} 

и я хочу, чтобы выход выглядеть

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

я использовал json.loads и он на самом деле делает JSON выглядеть напуганным.

код до сих пор ниже:

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

, кажется, вид работы, но получаю ошибку

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

В python есть модуль 'json'. Он загрузит объект типа 'dict', как HashMap в Java. Чтение документации должно быть довольно далеко. –

+0

от funky i означает, что он добавляет u 'к префиксу всех ключей и значений. –

+0

Попробуйте 'd.get (' latitude ')' вместо 'd [' latitude ']'. –

ответ

0

Вы ищете ключ, который не существует. Попробуйте:

c = json.loads(r.content) 
for d in c['result']: 
    if 'latitude' in d: 
     print(str(d['latitude'])) 
Смежные вопросы