Python2.7 urllib2.RequestKeyError
我正在成功地填写一个json.load(response)请求,并且能够导航/查看结果,这似乎是我所期望的。然而,当我试图访问属性时,我得到了一个keyrerror。在本例中,我需要将一个局部变量设置为“SHORT_NAME”属性 {u'fieldalias':{u'SHORT\u NAME':u'SHORT\u NAME',u'OBJECTID': u'OBJECTID',u'fields':[{u'alias':u'OBJECTID',u'type': u'esrifeldtypeoid',u'name':u'OBJECTID'},{u'alias':u'SHORT_name', u'length':50,u'type':u'esrifeldtypestring',u'name': u'SHORT\u NAME'}],u'displayFieldName':u'LONG\u NAME',u'features': [{u'attributes':{u'SHORT_NAME':u'Jensen海滩到木星湾', u'OBJECTID':17}}]} 我的python代码用于访问上述内容:Python2.7 urllib2.RequestKeyError,python,urllib2,Python,Urllib2,我正在成功地填写一个json.load(response)请求,并且能够导航/查看结果,这似乎是我所期望的。然而,当我试图访问属性时,我得到了一个keyrerror。在本例中,我需要将一个局部变量设置为“SHORT_NAME”属性 {u'fieldalias':{u'SHORT\u NAME':u'SHORT\u NAME',u'OBJECTID': u'OBJECTID',u'fields':[{u'alias':u'OBJECTID',u'type': u'esrifeldtypeoid',
reqAp = urllib2.Request(queryURLAp, paramsAp)
responseAp = urllib2.urlopen(reqAp)
jsonResultAp = json.load(responseAp) #all good here! above example is what this contains
#trying to set variable to the SHORT_NAME attribute
for featureAp in jsonResultAp['features']:
aqp = feature['attributes']['SHORT_NAME']
#this fails with: "KeyError: 'SHORT_NAME'"
很明显,“短_名称”在那里,所以我不太确定我做错了什么
谢谢你的反馈 变化:
aqp = feature['attributes']['SHORT_NAME']
致:
你如何投票否决一个问题?geesh.在for行中,您将变量命名为featureAp,但随后在循环中使用了一个feature变量。我猜那是个打字错误?对了!谢谢你的关注。简单!不知道如何将lancew的评论作为答案,但他们明白了。我们开始吧。你在上面的评论中回答正确。能够将此标记为帖子答案。谢谢你敏锐的眼睛!
aqp = featureAp['attributes']['SHORT_NAME']