2012-04-11 22 views
-1
public void HelloWord { 
     for (int i = 0; i < 20; i++) { 
      Log.d("Great"); 
     } 
    } 

Der Code oben funktioniert nicht warum? Ich versuche, Wert zu erhalten Name Weiß jemand, wo das Problem ist?android wie zu analysieren json

org.json.JSONException: Wert ... Der Inhalt des Link ... bei org.json.JSON.typeMismatch bei org.json.JSONArray.

+1

vielleicht, weil es nichts mit der Analyse der JSON-Antwort zu tun hat? – MByD

+0

Es hat nichts zu tun? Ich fand Code und benutze es, wenn ich dort einen anderen JSON Link setze, funktioniert es ... –

+1

Das ist nicht der Code, der hier vorher war :) – MByD

Antwort

0

Ich denke, dass Sie die Art und Weise fehlt, wie JSON funktioniert. Alles in {} ist ein Objekt, während [] ein Array bezeichnet. So ist die Wurzel der Twitter-Feed ist ein JSONObject, KEIN JSONArray:

Versuchen Sie, etwas mehr wie folgt aus:

JSONObject obj = new JSONObject(mStringBuilder.toString()); 
JSONObject trends = obj.getJSONObject("trends"); 
JSONArray today = trends.getJSONArray("2012-04-10"); 
for (int i = 0; i < today.length(); i++) { 
    JSONObject tag = today.getJSONObject(i); 
    String name = tag.getString("name"); 
    // do whatever with name 
} 

Viel einfacher und sein klarer, wie es funktioniert. JSONObjects sind Wörterbücher, mit einer einfachen Zuordnung zwischen Schlüssel und Werte - jedes Objekt ({}) können entweder mehr Objekte oder Arrays ([]) enthalten, die einfache, ganze Zahlen oder mehrere Objekte enthalten können entweder

+0

Es gibt einen Fehler ... Kein Wert für 2012-04-10 Warum? –

+0

Sie hatten völlig Recht. gelöschte Antwort :) – MByD

+0

@ user1106177 weil ich es vertippte - es sollte 'trends.getJSONArray()', nicht 'obj.getJSONArray()' sein - Ich habe es in meiner Antwort korrigiert – JRaymond

1

Ich bevorzuge die GSON library zu verwenden, wie Es ist ein schneller und effektiver JSON-Parser. Nach dem Hinzufügen zum Projekt müssen Sie Klassen erstellen, um die zurückgegebenen Daten darzustellen. Sie können dann eine einzelne Funktion rufen Sie Ihre Objekte für Sie zu erstellen:

gson.fromJson(); 

Ein außergewöhnlich guter Artikel über die Verwendung von Gson kann bei http://www.javacodegeeks.com/2011/01/android-json-parsing-gson-tutorial.html gefunden werden - es selbst nutzt Twitter für das Beispiel.