0
votes

Les articles de type org.json.jsonarray ne peuvent pas être convertis en JSONObject

Je suis confronté à un problème. Lorsque j'ai essayé de recevoir la valeur, je reçois une erreur que éléments de type org.json.jsonarray ne peut pas être converti en JSONObject code>. Comment puis-je résoudre ce problème?

JSONObject jsonObject = new JSONObject(response);
JSONObject snippet = jsonObject.getJSONObject("items");
String t = snippet.getString("rating");


2 commentaires

Le message d'erreur tente de vous dire quelque chose ...


Pensez à utiliser GSON à la place.


3 Réponses :


1
votes

juste changer de GetjsonObject A getjsonarray pour l'attribut Éléments.

JSONArray snippet = jsonObject.getJSONArray("items");


0 commentaires

0
votes

A jsonarray code> est une matrice de JSONObject code> s. Votre noeud code> items code> JSON est un tableau, pas un objet. Remplacez

String t = item.getString("rating");


2 commentaires

Jsonarray me donne int. Mais dans la capture d'écran, il ne dit que la note.


Les nœuds d'objet JSONARRAY ont N JSON, dans votre cas 1 (avec index 0). Cette JSONOBJECT a une clé pour la note.



1
votes

[..] signifie qu'il devrait s'agir d'un jsonarray et {.} signifie qu'il devrait s'agir d'un JSONObject.

Faites ceci: P>

JSONArray snippet = jsonObject.getJSONArray("items");


3 commentaires

Nous devrions toujours expliquer en donnant une solution. Bonne.


Merci pour Heads Up, ajouté.


Génial, continuez de contribuer de la même manière.