Mi cadena JSON se parece a esto (contenida en una variable de cadena llamado sJSON
):¿Cómo iterar esta matriz JSON utilizando Java y org.json en Android?
[
{"id":284}
],
[
{"name":John,"surname":Doe},
{"name":Jane,"surname":Doe}
]
soy capaz de analizar la primera matriz como esta (usando Java y la importación de org.json):
JSONArray arrJSON = new JSONArray(sJSON);
JSONObject jsonGeneralData = new JSONObject(arrJSON.get(0).toString());
String sResult = jsonGeneralData.get("id").toString();
Eso devuelve el resultado esperado, que es 284. Tengo dificultades para obtener la segunda serie de elementos y repetirlos. No estoy seguro de si mi cadena JSON está mal formada o si intento acceder a ella de la manera incorrecta. Esto es lo que he intentado:
JSONObject jsonPersonData = new JSONObject(arrJSON.get(1).toString());
Esto es por lo que yo tengo, no puedo encontrar la manera de recorrer los elementos individuales dentro de la segunda matriz.
EDIT:
Parece que esta línea sólo se analiza la primera cadena en los corchetes:
JSONArray arrJSON = new JSONArray(sJSON);
O bien el JSON es incorrecto (mismo ejemplo anterior), o que no es el análisis es correcto? He logrado resolver el problema haciendo una división en la cadena y ponerlos cada uno en su propio JSONArray
, pero no creo que esa sea la mejor manera de hacer las cosas.
Actualizado el post original con más información. –
Recursivo: https://gist.github.com/anonymous/89f8163fb22f77f4f9d3 –