einfach ein weiteres Verfahren in die Mischung hier zu werfen, würde ich empfehlen gerne einen Blick auf Gson nehmen. Gson ist eine Bibliothek, die die Serialisierung und Deserialisierung von Java-Objekten zum Kinderspiel macht. Zum Beispiel mit der Zeichenfolge, können Sie dies tun:
// 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
}
Ebenso können Sie gehen nach hinten zu sehr leicht.
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}]}
Der primäre Vorteil, dass mit so etwas wie Gson bietet, ist, dass Sie jetzt alle Java Typprüfung standardmäßig verwenden können, statt mit sich selbst Attributnamen und -typen zu verwalten. Es ermöglicht Ihnen auch, einige raffinierte Dinge wie das Replizieren von Typhierarchien zu tun, die die Verwaltung einer großen Anzahl von Json-Nachrichten zum Kinderspiel machen. Es funktioniert gut mit Android, und das Glas selbst ist winzig und erfordert keine zusätzlichen Abhängigkeiten.
Die Zeichenfolge ist ein JSON-Objekt, kein Array (beachten Sie die äußersten Klammern). – Henry