mia stringa JSON si presenta così (contenuta in una variabile stringa denominata sJSON
):Come eseguire iterazioni su questo array JSON utilizzando Java e org.json in Android?
[
{"id":284}
],
[
{"name":John,"surname":Doe},
{"name":Jane,"surname":Doe}
]
sono in grado di analizzare il primo array come questo (utilizzando Java e l'importazione di org.json):
JSONArray arrJSON = new JSONArray(sJSON);
JSONObject jsonGeneralData = new JSONObject(arrJSON.get(0).toString());
String sResult = jsonGeneralData.get("id").toString();
Ciò restituisce il risultato previsto, che è 284. Non riesco a ottenere la seconda serie di elementi e a scorrere tra di loro. Non sono sicuro che la mia stringa JSON non sia corretta, o se sto cercando di accedervi nel modo sbagliato. Ecco quello che ho provato:
JSONObject jsonPersonData = new JSONObject(arrJSON.get(1).toString());
Questo è quanto ho ottenuto, non riesco a capire come un ciclo tra le singole voci all'interno del secondo array.
EDIT:
Sembra che questa linea analizza solo la prima stringa nelle parentesi quadre:
JSONArray arrJSON = new JSONArray(sJSON);
O il JSON è sbagliato (stesso esempio come sopra), o non è parsing è correttamente? Sono riuscito a risolvere il problema eseguendo una divisione sulla stringa e inserendoli ciascuno nella propria JSONArray
, ma non penso che sia il modo migliore di fare le cose.
aggiornato il post originale con più informazioni –
Uno ricorsivo: https://gist.github.com/anonymous/89f8163fb22f77f4f9d3 –