bnl*_*cas 6 python json urllib3
我正在尝试转换使用urllib3从http请求生成的字符串.
Traceback (most recent call last):
File "<pyshell#16>", line 1, in <module>
data = json.load(data)
File "C:\Python27\Lib\json\__init__.py", line 286, in load
return loads(fp.read(),
AttributeError: 'str' object has no attribute 'read'
>>> import urllib3
>>> import json
>>> request = #urllib3.request(method, url, fields=parameters)
>>> data = request.data
Run Code Online (Sandbox Code Playgroud)
现在......当尝试以下内容时,我得到了这个错误......
>>> json.load(data) # generates the error
>>> json.load(request.read()) # generates the error
Run Code Online (Sandbox Code Playgroud)
跑步type(data),type(data.read())都回归<type 'str'>
data = '{"subscriber":"0"}}\n'
Run Code Online (Sandbox Code Playgroud)
Ble*_*der 20
json.load从类文件对象加载.你要么想用json.loads:
json.loads(data)
Run Code Online (Sandbox Code Playgroud)
或者只是json.load在请求上使用,这是一个类似文件的对象:
json.load(request)
Run Code Online (Sandbox Code Playgroud)
此外,如果您使用请求库,您可以这样做:
import requests
json = requests.get(url).json()
Run Code Online (Sandbox Code Playgroud)