Python-过滤dict JSON响应以仅返回两个值或转换为字符串?
我在Python中操作一个URL,该URL调用API并在JSON中获得有效结果 我只需要[result]提供的“纬度”和“经度” 但是,我似乎找不到任何好方法来处理将dict值发送回的问题 我曾尝试将JSON转换为字符串,但我的最终目标是将纬度和经度附加到另一个URL,这似乎很愚蠢 一直在四处搜索,似乎解析DICT是一个常见的问题 谁能给我指出正确的方向吗 我运行的代码Python-过滤dict JSON响应以仅返回两个值或转换为字符串?,python,json,string,dictionary,filter,Python,Json,String,Dictionary,Filter,我在Python中操作一个URL,该URL调用API并在JSON中获得有效结果 我只需要[result]提供的“纬度”和“经度” 但是,我似乎找不到任何好方法来处理将dict值发送回的问题 我曾尝试将JSON转换为字符串,但我的最终目标是将纬度和经度附加到另一个URL,这似乎很愚蠢 一直在四处搜索,似乎解析DICT是一个常见的问题 谁能给我指出正确的方向吗 我运行的代码 import urllib2 import json Postcode = raw_input("Hello hello he
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'
您得到了一个嵌套字典,因此可以使用正确的键访问它的值:
d = json.loads(json_str)
lat, long = d['result']['latitude'], d['result']['longitude']
newurl = url + '?' + 'lat=' + lat + '&lon=' + lon
您得到了一个嵌套字典,因此可以使用正确的键访问它的值:
d = json.loads(json_str)
lat, long = d['result']['latitude'], d['result']['longitude']
newurl = url + '?' + 'lat=' + lat + '&lon=' + lon
您可以像访问字典一样访问JSON对象。因此,要从结果中获取纬度和经度,可以使用: 纬度,长=d[结果][纬度],d[结果][经度]
将它们加载到字符串中,进行错误检查,然后将它们附加到新URL中。您可以像访问字典一样访问JSON对象。因此,要从结果中获取纬度和经度,可以使用: 纬度,长=d[结果][纬度],d[结果][经度] 将它们加载到字符串中,进行错误检查,然后将它们附加到新的URL中