【发布时间】:2016-12-07 05:59:20
【问题描述】:
JSON 下面
{"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'
【问题讨论】:
-
python中有一个
json模块。它将加载一个dict类型的对象,就像Java 中的HashMap。阅读文档应该会让你走得很远。 -
时髦我的意思是它在所有键和值的前缀中添加了一个 u'
-
试试
d.get('latitude')而不是d['latitude']。 -
请不要在您的问题中编辑解决方案。相反,将其作为单独的答案发布在下面。请看stackoverflow.com/help/self-answer