我在使用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