2012-03-26 13 views
0

Ich habe die folgende Array-Antwort von einem Server auf eine Android-App.Vorgehensweise beim Extrahieren von JSON-Array-Elementen

[ 
{"1": 
[{"name":"IEEE Meeting"},{"date":"2012-04-24 10:30:00"},{"Room":"ZACH102"},{"descr":"Final Meeting"},{"D":0.0057}]}, 
{"2": 
[{"name":"Senior Design Demo"},{"date":"2012-04-24 16:30:00"},{"Room":"ZACH111A"},{"descr":"Demo"},{"D":0.019}]} 
] 

Ich führe eine Konvertierung in ein JSONArray nach Erhalt der Antwort.

Wie würde ich die einzelnen Elemente Name, Datum, Raum und so weiter extrahieren?

Antwort

0

Also im Grunde bekommen, seine in dieser Größenordnung Array von Objekten 1, 2 - Jedes Objekt 1, 2 eine Reihe von verschiedenen Objekten Namen, das Datum hat, usw.

  1. Konvertieren Sie die gesamten Daten in eine Zeichenfolge.
  2. Erstellen Sie ein neues JSONArray (string).
  3. Schleife über das Array. (Sie erhalten die Anzahl mit Länge()).
  4. Holen Sie das erste Objekt mithilfe von getJSONObject().
  5. Holen Sie das Array im ersten Objekt mit getJSONArray.
  6. Jetzt mit länge() wieder erhalten Sie die Anzahl der JSONObjects darin.
  7. Schleife über die Anzahl der Objekte und rufen Sie get JSONObject() zuerst gefolgt von getString() oder getDouble().
  8. Wiederholen Sie über die Liste anderer Objekte und wiederholen Sie Schritt 4 - 7.
+0

Vielen Dank! Das war, was ich suchte. – maknelly

+0

@maknelly Hallo, ich habe gerade ein Tutorial über JSON Parsing in Android geschrieben.Da Sie vor kurzem Schwierigkeiten damit hatten, habe ich mich gefragt, ob Sie es durchgehen könnten und sehen, ob es hilfreich ist. Vielen Dank! http://www.shubhayu.com/android/json-parser-tutorial-for-android-using-jsonobjects – Shubhayu

0

Haben Sie die Dokumentation für JSONArray ausgecheckt? Das interne Formular ist ein Objekt mit get und opt Methoden für den Zugriff auf die Werte nach Index und put Methoden zum Hinzufügen oder Ersetzen von Werten. Die Werte können folgende sein: Boolean, JSONArray, JSONObject, Number, String, oder das Objekt JSONObject.NULL.

Eine get Methode gibt einen Wert zurück, wenn einer gefunden werden kann, und löst eine Ausnahme aus, wenn sie nicht gefunden werden kann. Eine opt Methode gibt einen Standardwert zurück, anstatt eine Ausnahme auszulösen, und ist daher nützlich, um optionale Werte zu erhalten.

Die generischen Methoden get() und opt() geben ein Objekt zurück, das Sie typisieren oder abfragen können. Es gibt auch typisierte get und opt Methoden, die Typüberprüfung und Typzwang für Sie eingeben.

+0

Ich habe mich gefragt, ob ich das erste Objekt von getJSONObject (1) und dann von dem Objekt I Namen, Datum bekommen wählen habe? Im ersten Objekt ist 1 der Schlüssel für ein Array, aber wie extrahiere ich dann die Elemente aus diesem Array? – maknelly

+0

Von Ihrer Serverantwort haben Sie ein JSONArray mit zwei Elementen vom Typ JSONObject. Jedes JSONOject hat ein Name/Wert-Paar. In Ihrem Fall ist der Wert ein anderes JSONArray. Dieses JSONArray hat auch 5 Elemente vom Typ JSONObject. Jeder dieser correpsonds zu Ihrem Namen, Datum Zimmer und so weiter .... – mcorley

0

Sie alle Parameter wie dieses

JSONArray main_array = json.getJSONArray("array"); 
for(int i=0;i<main_array.length();i++) {    
    main_object = main_array.getJSONObject(i); 
    String name = main_object.getString("name"); 
    String date = main_object.getString("date"); 
} 
Verwandte Themen