Comment mettre une liste & lt; class & gt; dans un JSONObject, puis lire cet objet?
J'ai un List<class>
que je voudrais le convertir en un objet json puis traverser les données de l'objet json.
Si c'était juste un list<String>
seulement je pouvais faire quelque chose comme:
JSONObject obj = new JSONObject();
List<String> sList = new ArrayList<String>();
sList.add("val1");
sList.add("val2");
obj.put("list", sList);
Ensuite, j'ai pu parcourir la liste comme:
JSONArray jArray = obj.getJSONArray("list");
for(int ii=0; ii < jArray.size(); ii++
System.out.println(jArray.getString(ii));
Le problème avec l'aide de la classe, c'est que j'ai besoin d'avoir accès à des données au sein de chaque classe de l'élément de mon list<class>
et je ne sais pas comment coder /traverse en JSON. Toute aide serait grandement appréciée.
source d'informationauteur Grammin
Vous devez vous connecter pour publier un commentaire.
Appel
getJSONObject()
au lieu degetString()
. Qui vous donnera une poignée sur l'objet JSON dans le tableau et ensuite, vous pouvez obtenir la propriété de l'objet à partir de là.Par exemple, pour obtenir la propriété "valeur" d'un
List<SomeClass>
oùSomeClass
a unString getValue()
etsetValue(String value)
:Supposons que la classe est Données avec deux objets nom et dob qui sont à la fois chaînes.
Vous pouvez utiliser un sérialiseur JSON/deserializer comme flexjson pour faire la conversion pour vous.
C'est comment je le fais à l'aide de Google Gson. Je ne suis pas sûr, s'il y a un moyen plus simple de faire cela.( avec ou sans une bibliothèque externe).
Juste de mettre à jour ce fil, voici comment ajouter une liste (un tableau json) en JSONObject.
Plz substitut YourClass avec votre nom de la classe;