在一个简单的Python脚本测试中,我无法使模块'json'和'urllib.request'一起工作。使用Python3.5,下面是代码:
import json
import urllib.request
urlData = "http://api.openweathermap.org/data/2.5/weather?q=Boras,SE"
webURL = urllib.request.urlopen(urlData)
print(webURL.read())
JSON_object = json.loads(webURL.read()) #this is the line that doesn't work
当通过命令行运行脚本时,我得到的错误是“TypeError:JSON对象必须是str,而不是‘bytes’”。我是Python新手,所以很可能有一个非常简单的解决方案。谢谢你的帮助。
除了忘记解码,您只能读取一次响应。已经调用了
.read()
,第二个调用返回一个空字符串。只调用
.read()
一次,然后将数据解码为字符串:^{} call 告诉您服务器认为使用了什么字符集。
演示:
在我研究自己的过程中,您只需要使用
decode('utf-8')
函数,然后在使用json.load()
函数之后提取为json格式。相关问题 更多 >
编程相关推荐