45 votes

Analyse d'un tableau JSON dans un objet JSON

J'ai du JSON avec la structure suivante :

{"source":[
           {"name":"john","age":20},
           {"name":"michael","age":25},
           {"name":"sara", "age":23}
         ]
}

J'ai nommé cette chaîne JSON comme mainJSON . J'essaie d'accéder aux éléments "nom" et "âge" avec le code Java suivant :

JSONArray jsonMainArr = new JSONArray(mainJSON.getJSONArray("source"));
for (int i = 0; i < jsonMainArr.length(); i++) {  // **line 2**
     JSONObject childJSONObject = jsonMainArr.getJSONObject(i);
     String name = childJSONObject.getString("name");
     int age     = childJSONObject.getInt("age");
}

On me montre l'exception suivante pour la ligne numéro 2 :

org.json.JSONException: JSONArray initial value should be a string or collection or array.

Veuillez m'indiquer où je fais l'erreur et comment y remédier.

-3voto

Rahul Points 1

Cela pourrait être une réponse à votre question :

JSONArray msg1 = (JSONArray) json.get("source");
for(int i = 0; i < msg1.length(); i++){
  String name = msg1.getString("name");
  int age     = msg1.getInt("age");
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X