對不起,我完全忽略提及我正在使用Python。讓我再試一次。如何將此unicode轉換爲字典?
我使用Python消耗返回以下JSON Web服務:
{
"results" : [
{
"paramName" : "output",
"dataType" : "GPString",
"value" : "{'city': 'Falls Church', 'isRuralArea': False, 'zip': '22046', 'isNotInBTOPLMArea': True, 'longitude': '-77.186180', 'isGeocodable': True, 'county': u'Falls Church', 'isNotInBIPLMArea': True, 'state': 'VA', 'isLatLongInUSBounds': True, 'address': '604 Jackson St', 'latitude': '38.884937'}"
}
],
"messages" : [
]
}
下面是我取的重要片段/解析代碼:
import urllib
import httplib2
import json
import simplejson
http = httplib2.Http()
headers, response = http.request(url, 'GET')
if headers['status'] == "200":
responseAsJson = simplejson.loads(response)
print "response = " + repr(responseAsJson)
results = responseAsJson['results'][0]['value']
不幸的是,這個葉子我與結果(如PyScripter調試器的變量窗口中報告)的以下值:
u"{'city': 'Falls Church', 'isRuralArea': False, 'zip': '22046', 'isNotInBTOPLMArea': True, 'longitude': '-77.186180', 'isGeocodable': True, 'county': u'Falls Church', 'isNotInBIPLMArea': True, 'state': 'VA', 'isLatLongInUSBounds': True, 'address': '604 Jackson St', 'latitude': '38.884937'}"
我不知道如何訪問地址或城市鍵,例如。
你能告訴我做錯了什麼,以及如何解決它?
感謝, 傑米
我的問題(過時)的老版:
這裏是我解析JSON:我鑽下去
response = {u'messages': [], u'results': [{u'dataType': u'GPString', u'value': u"{'city': 'Falls Church', 'isRuralArea': False, 'zip': '22046', 'isNotInBTOPLMArea': True, 'longitude': '-77.186180', 'isGeocodable': True, 'county': u'Falls Church', 'isNotInBIPLMArea': True, 'state': 'VA', 'isLatLongInUSBounds': True, 'address': '604 Jackson St', 'latitude': '38.884937'}", u'paramName': u'output'}]}
到這個節點,它的類型是「unicode」。我該如何制定一個詞典?我認爲它是unicode的事實是阻止我創建字典或訪問它的密鑰,但我不確定。
u"{'city': 'Falls Church', 'isRuralArea': False, 'zip': '22046', 'isNotInBTOPLMArea': True, 'longitude': '-77.186180', 'isGeocodable': True, 'county': u'Falls Church', 'isNotInBIPLMArea': True, 'state': 'VA', 'isLatLongInUSBounds': True, 'address': '604 Jackson St', 'latitude': '38.884937'}"
感謝, 傑米
這不是合法的JSON字符串。我懷疑你正在使用不在標籤列表中的語言。你在開發什麼,DBMS是什麼? –
我創建了一個服務(在ArcGIS Geoprocessing Services中),它返回了一些令人尊敬的JSON: ** {「results」:[{「paramName」:「output」,「dataType」:「GPString」,「value」:「 {'city':'Falls Church','isRuralArea':False,'zip':'22046','isNotInBTOPLMArea':是的,'經度':'-77.186180','isGeocodable':True,'county':u 'Falls Church','isNotInBIPLMArea':True,'state':'VA','isLatLongInUSBounds':True,'address':'604 Jackson St','latitude':'38 .884937'}「}},」messages「 :[]} ** 我得到了** header,response = http.request(url,'GET')**然後** responseAsJson = simplejson.loads(response)** –
是的。服務中的JSON是合法的,但原始帖子中的JSON不是。如果您從每個屬性名稱的前面刪除了'u',則這是合法的。 –