étrange python question, "unicode" objet n'a pas d'attribut "lire"
Voici mon code et quelqu'un a une idée de ce qui est mal? J'ouvre mon contenu JSON directement par le navigateur et ça marche,
data = requests.get('http://ws.audioscrobbler.com/2.0/?method=library.getartists&api_key=4c22bd45cf5aa6e408e02b3fc1bff690&user=joanofarctan&format=json').text
data = json.load(data)
print type(data)
return data
merci d'avance,
Lin
déposer les
N'oubliez pas de upvote des réponses utiles et pour accepter la qui a résolu votre problème afin de marquer cette question comme résolue.
json.load
, requests
les objets ont une .json()
méthode.N'oubliez pas de upvote des réponses utiles et pour accepter la qui a résolu votre problème afin de marquer cette question comme résolue.
OriginalL'auteur Lin Ma | 2015-08-16
Vous devez vous connecter pour publier un commentaire.
Cette erreur parce que le
data
est une unicode/str variable, modifier la deuxième ligne de votre code afin de résoudre votre erreur:json.load
obtenir un fichier objet en premier paramètre de position et d'appeler laread
méthode de cette.Vous pouvez également appeler le
json
méthode de la réponse à récupérer les données directement:Heureux qui a travaillé @Lin-Ma 🙂
A parfaitement fonctionné!.. Merci
OriginalL'auteur Moh
demandes.obtenir(...).texte
renvoie le contenu comme un seul (unicode) de la chaîne. Lejson.load()
fonction nécessite toutefois un fichier comme argument.La solution est plutôt simple: il suffit d'utiliser
charges
au lieu deload
:Une bien meilleure solution est d'appeler tout simplement
json()
sur l'objet de la réponse directement. Afin de ne pas les utiliser.text
mais.json()
:Tout ce utilise
json.loads
lui-même en interne, il se cache que la mise en œuvre de détails, vous pouvez ainsi vous concentrer sur l'obtention de la réponse JSON.urgh il suffit de remarquer que j'avais oublié le "s" MERCI!
OriginalL'auteur poke