Pourquoi ai-jeDécodage JSON avec Python
ValueError: No JSON object could be decoded
de ce code:
import urllib.request,json
n = urllib.request.urlopen("http://graph.facebook.com/55")
d = json.loads(str(n.readall()))
La pleine erreur:
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
La sortie de str(n.readall())
:
'b\'{"id":"55","name":"Jillian Copeland","first_name":"Jillian","last_name":"Copeland","username":"JCoMD","gender":"female","locale":"en_US"}\''
Peut-être que le b
le supprime?
Si c'est le problème, comment puis-je convertir le flux binaire du readall
en une chaîne et ne pas avoir b
? J'essaie d'apprendre un petit python, alors gardez ça à l'esprit. J'utilise Python 3.3 dans Windows.
double possible de [? Utilisez "objet comme octet" de urlopen.read avec JSON] (http://stackoverflow.com/questions/10846112/use -byte-like-object-from-urlopen-read-with-json) –