私は正常にjson.load(応答)リクエストを満たしており、結果をナビゲート/表示でき、私が期待しているようです。しかし、属性にアクセスしようとするとKeyErrorが発生します。この例では、ローカル変数を "SHORT_NAME"属性に設定する必要があります。python 2.7 urllib2.Request KeyError
{u'fieldAliases ':{u'SHORT_NAME':u'SHORT_NAME」、u'OBJECTID ': u'OBJECTID'}、u'fields ':[{u'alias':u'OBJECTID '、' u'type ':u'type':u'type ': u'length':50、u'type ':u' [u'attributes:{u'SHORT_NAME ':u'SHORT_NAME':] '、' u'SHORT_NAME ':u'DisplayFieldName':u'LONG_NAME '、u'features': 上記にアクセスするための17}}]}
マイPythonコード:木星インレット ' u'OBJECTID'
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'"
それは私が私が間違ってやっているかなりよく分からないので「SHORT_NAME」があることは明らかです。
フィードバックありがとうございます。
どのように質問を否決しますか? geesh。 – user2309282
for行では、変数featureApに名前を付けますが、ループ内でフィーチャー変数を使用しています。私はそれが誤植だと思いますか? – lancew
ビンゴ!それをキャッチしていただきありがとうございます。シンプル! – user2309282