我正在使用python url库从空间参考网站获取json响应。这是我的代码。我得到 response_read =“你'{\'类型\':\''EPSG \',\'属性\':{\'代码\':102646}}'”但我需要这个回复以这种形式:“{'type':'EPSG','properties':{'code':102646}}”。我如何以这种形式实现输出?
headers = {'User-Agent': 'Mozilla/5.0'}
req = urllib2.Request("http://spatialreference.org/ref/esri/"nad-1983-stateplane-california-vi-fips-0406-feet"/json/", None, headers)
response = urllib2.urlopen(req)
response_read = response.read().decode('utf-8')
result = json.dumps(response_read)
epsg_json = json.loads(result)
epsg_code = epsg_json['properties']['code']
return epsg_code
答案 0 :(得分:1)
我不太确定你的功能与否。无论如何,你收到的回复是文字字符,你需要用“。
替换它以下是工作代码:
import urllib2,json
headers = {'User-Agent': 'Mozilla/5.0'}
req = urllib2.Request("http://spatialreference.org/ref/esri/nad-1983-stateplane-california-vi-fips-0406-feet/json/", None, headers)
response = urllib2.urlopen(req)
response_read = response.read()
epsg_json = json.loads(response_read.replace("\'", '"'))
epsg_code = epsg_json['properties']['code']
print(epsg_code)
希望这有帮助。
答案 1 :(得分:1)
你需要先使用转储然后加载
json_data = json.dumps(response_read)
json_without_slash = json.loads(json_data)