为什么我从这个代码获得解码JSON与Python
ValueError: No JSON object could be decoded
:
import urllib.request,json
n = urllib.request.urlopen("http://graph.facebook.com/55")
d = json.loads(str(n.readall()))
完整的错误:
Traceback (most recent call last):
File "<pyshell#41>", line 1, in <module>
d= json.loads(str(n.readall()))
File "C:\Python33\lib\json\__init__.py", line 309, in loads
return _default_decoder.decode(s)
File "C:\Python33\lib\json\decoder.py", line 352, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Python33\lib\json\decoder.py", line 370, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
的str(n.readall())
输出:
'b\'{"id":"55","name":"Jillian Copeland","first_name":"Jillian","last_name":"Copeland","username":"JCoMD","gender":"female","locale":"en_US"}\''
也许b
正在抛弃它?
如果这是问题,我该如何将二进制流从readall
转换为字符串,而不是b
?
我想学习一点python,所以请记住这一点。
我在Windows中使用Python 3.3。
可能重复[?使用从JSON urlopen.read “像字节对象”(http://stackoverflow.com/questions/10846112/use -byte-like-object-from-urlopen-read-with-json) –