Android JSon erreur “Attendu BEGIN_OBJECT mais a été BEGIN_ARRAY à la ligne 1 de la colonne 2”
Je reçois les données JSon à partir d'un service web, les données de l'échantillon est donnée ci-dessous:
[
{
"SectionId": 1,
"SectionName": "Android"
}
]
Quand j'essaie de le convertir, il renvoie une erreur, je le fais aussi:
Data data = new Gson().fromJson(jsonDataFromWebService, Data.class);
Ma Section de la Classe est:
class Section
{
public int SectionId;
public String SectionName;
}
class Data {
public List<Section> sections;
}
Le LogCat dit:
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException:
Attendu BEGIN_OBJECT mais a été BEGIN_ARRAY à la ligne 1 de la colonne 2
Vous devez vous connecter pour publier un commentaire.
L'erreur explique quoi de mal... u r renvoyant un tableau et non pas un objet JSon
essayez de la manière suivante:
Vous êtes en train de créer un Tableau non(Collection) de l'objet à partir d'un JSONArray. L'erreur est assez clair: GSON attendait le début d'un objet, mais trouvé le début d'un tableau à la place.
Prendre un coup d'oeil à la page de documentation ci-dessous pour voir comment travailler avec le Tableau et les types de Collection avec GSON
https://sites.google.com/site/gson/gson-user-guide#TOC-Collections-Examples
De la documentation:
Section sur l'utilisation de la classe seulement comme suit: