我在Python中操纵一个调用API并在JSON中获得有效结果的URL。
我只需要[result]
提供的'纬度'和'经度'但是,我似乎无法找到任何处理发送dict值的好方法。
我试图将JSON转换为字符串,但由于我的最终目标是将纬度和经度附加到另一个URL,这看起来很愚蠢?
一直在寻找,似乎正在解决DICT的常见问题。
有人能指出我正确的方向吗?
我的代码(已运行)
import urllib2
import json
Postcode = raw_input("Hello hello hello, what's your postcode..? ")
PostcodeURL = 'https://api.postcodes.io/postcodes/' + Postcode
json_str = urllib2.urlopen(PostcodeURL).read()
d = json.loads(json_str)
print(d)
输出如下:
{u'status': 200, u'result': {u'eastings': 531025, u'outcode': u'N8', u'admin_county': None, u'postcode'
答案 0 :(得分:0)
你有一个嵌套字典,所以使用正确的键访问它的值:
d = json.loads(json_str)
lat, long = d['result']['latitude'], d['result']['longitude']
newurl = url + '?' + 'lat=' + lat + '&lon=' + lon
答案 1 :(得分:-1)
您可以像字典一样访问JSON对象。因此,要从结果中获取纬度和经度,您可以使用:
lat, long = d[result][latitude], d[result][longitude]
将这些文件加载到字符串中,进行错误检查,然后将它们附加到新的URL中。