为什么我
ValueError:无法解码JSON对象
来自此代码:
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
?
我正在尝试学习一个小蟒蛇,所以请记住这一点。
我在Windows中使用Python 3.3。
答案 0 :(得分:4)
我认为这与this question完全相同,但遗憾的是没有接受的答案。
在我的结尾,这有效:
import urllib.request,json
n = urllib.request.urlopen("http://graph.facebook.com/55")
d= json.loads(n.readall().decode('utf-8'))