solo per gettare un altro metodo nella miscela qui, vorrei consigliare di dare un'occhiata a Gson. Gson è una libreria che semplifica la serializzazione e la deserializzazione dagli oggetti Java. Ad esempio, con la stringa, si potrebbe fare questo:
// Declare these somewhere that is on the classpath
public class ArrayItem{
public int id;
public double att1;
public boolean att2;
}
public class Container{
public List<ArrayItem> myArray;
}
// In your code
Gson gson = new Gson();
Container container = gson.fromJson(json, Container.class);
for(ArrayItem item : container.myArray){
System.out.println(item.id); // 1, 2, 3
System.out.println(item.att1); // 14.2, 13.2, 13.0
System.out.println(item.att2); // false, false, false
}
Allo stesso modo, si può andare a ritroso anche molto facilmente.
String jsonString = gson.toJson(container);
// jsonString no contains something like this:
// {"myArray":[{"id":1,"att1":14.2,"att2":false},{"id":2,"att1":13.2,"att2":false},{"id":3,"att1":13.0,"att2":false}]}
Il vantaggio principale che usando qualcosa come GSON fornisce è che ora è possibile utilizzare tutti i controllo dei tipi di Java per default, invece di dover gestire nomi degli attributi e tipi di te. Permette anche di fare alcune cose fantasiose come la replica delle gerarchie di tipi che rendono la gestione di un gran numero di messaggi JSON in un attimo. Funziona alla grande con Android, e il jar stesso è piccolo e non richiede alcuna dipendenza aggiuntiva.
La stringa è un oggetto JSON, non un array (notare le parentesi più esterne). – Henry