我正在尝试此代码,并获取以lat,lng和位置开头的行中的错误。任何人都可以帮忙吗?Python无类型对象不可自订
import urllib.parse
import urllib.request
import json
while True:
address = input('Enter location: ')
if len(address) < 1 : break
serviceurl = 'http://python-data.dr-chuck.net/geojson'
url = serviceurl + '?' + urllib.parse.urlencode({'sensor':'false', 'address': address})
response = urllib.request.urlopen(url)
data = response.readall().decode('utf-8')
js = json.loads(str(data))
if 'status' not in js or js['status'] != 'OK':
print ('==== Failure To Retrieve ====')
print (data)
continue
print (json.dumps(js, indent=4))
lat = js["results"][0]["geometry"]["location"]["lat"]
lng = js["results"][0]["geometry"]["location"]["lng"]
print('lat',lat) #,('lng'),lng
location = js['results'[0]]['formatted_address']
print(location)
感谢, 阿伦
至少一个的字段是空的 – Pynchia
如果你打印整个'js'对象,你会看到它有什么字段。 – Turn
除了你的问题...不要这样做:'如果'状态'或'确定'js == False'。因为:1. js'中的''status'或者'OK'总是评估为'status',并且2.你永远不想比较'True'或'False'。要么做“如果有事”或“如果不是事”。这可以帮助你避免一些意想不到的问题。顺便说一句'status'或'OK'in js == False'也计算为''status'',所以你的'if'永远是真的;) – zvone