2016-03-21 9 views

Antwort

1

Vielleicht this Antwort könnte hilfreich sein.

Grundsätzlich sollten Sie jedes JSON-Objekt durchlaufen und eine GSON-Methode verwenden, um alle Schlüssel zu erhalten. Dann könnten Sie jeden Schlüssel iterieren und den Wert mit dem Schlüssel erhalten.

1

Verwenden Sie jsonObject.had ("Schlüssel"), um zu wissen, ob dieser Schlüssel für dieses jsonObject existiert. So können Sie Ihr Objekt anhand seines eindeutigen Schlüssels wie in Ihrem Beispiel identifizieren: Wenn das Objekt den about-Schlüssel hat, ist es wie das erste Objekt und wenn es eine Beschreibung hat, ist es das zweite. Stellen Sie sicher, iterieren alle JsonObject im JsonArray

1

würde ich wahrscheinlich deserialisieren es in ein Map<String,String>[] oder wenn Sie erwarten, andere Datentypen als Werte Map<String, Object>[] und durchqueren es auf diese Weise je nach Bedarf.

1

Ihr Json-Ergebnis ein JsonObject, das Array von Daten hat. wie unten Ihre Ergebnisdaten ändern:

"data":{[ 
    { 
    "about": "xyz ", 
    "id": "cda", 
    "username": "ps" 
    }, 
    { 
    "description": "this is sample response", 
    "id": "ahhj", 
    } 
]} 

dann eine Modellklasse daraus machen und Gson verwenden. Wenn Sie ein Problem haben, fragen Sie erneut.

5

Offensichtlich ist Ihr JSON keine Liste von homogenen Daten. Daher kann nicht in Liste konvertiert werden.

Also habe ich versucht, in die Schuhe für eine Weile zu sein, und erstellt eine json

[{"name":"dave","clazz":"V"},{"token":"VIW","type":"dexter"}] 

und den besten Ansatz, den ich mit

1 einfiel: Konvertieren Sie es zu JsonArray

JSONArray jsonArray = new JSONArray(json); 

2: Da jedes Objekt in Array könnte von einzigartigem Typ, so, bis Sie sehr sicher darüber sind es als JsonObject halten ist nicht so schlecht Idee.

JsonObject jsonObject = jsonArray.getJSONObject(0); 
String token = jsonObject.getString("token"); 

3: Und für die Fälle, wenn Sie sicher sind Sie ein Model (POJO) haben für die Klasse, die Sie auf jeden Fall so zu etwas kann.

MyPojo myPojo = new Gson().fromJson(jsonArray.getJSONObject(0).toString(), MyPojo.class); 

Ich hoffe, ich half! Nein! Wie wäre es, wenn du mir erzählst, was ich falsch gemacht habe? :)

Verwandte Themen