我在使用python解析JSON时遇到问题,现在我卡住了。
问题是我的JSON的实体并不总是相同的。 JSON的是一样的东西:使用python解析JSON:空白字段
"entries":[
{
"summary": "here is the sunnary",
"extensions": {
"coordinates":"coords",
"address":"address",
"name":"name"
"telephone":"123123"
"url":"www.blablablah"
},
}
]
我可以通过JSON移动,例如:
for entrie in entries:
name =entrie['extensions']['name']
tel=entrie['extensions']['telephone']
来,因为有时候,JSON没有所有的“领域”,例如问题, telephone
字段有时会丢失,因此,该脚本因KeyError
失败,因为此条目中缺少密钥电话。
所以,我的问题:我怎么能运行这个脚本,留下一个空白空间电话丢失? 我试过:
if entrie['extensions']['telephone']:
tel=entrie['extensions']['telephone']
但我认为不好。
不错,我很喜欢这更好然后'defaultdict '因为'__missing__'方法中可以添加一些逻辑来捕捉潜在的错误。使用'defaultdict'时,我总是畏缩,因为当我输错时我不会得到KeyError。 – 2013-05-11 00:18:03