Analyse JsonObject List<Map<String, Object>> mit Gson?

Ich versuche zu analysieren, eine string-Darstellung von JSON-Objekt in eine Liste von Karten.
Das json-Objekt gliedert sich ungefähr wie folgt aus:

[
 {       
  "first_name": "fname1",
  "last_name": "lname1"
 },
 {
  "first_name": "fname2",
   "last_name": "lname2"
 }
 .
 .
 .
]

Das einzige, was bekannt ist, ist die Saiten-Werte (e.g "first_name", "last_name") auf Laufzeit nur, daher kann ich nicht erstellen, die vordefinierten Klassen (wie in der Regel verwendet in fromJson () - Methode).

Ich habe versucht, erstellen Sie die folgende Funktion (nachdem ich sah einige Beispiele online) und es hat nicht funktioniert:

public List<Map<String, Object>> fromJson(String jsonAsString) {
    final JsonElement jsonElement = this.jsonParser.parse(jsonAsString);

    List<Map<String, Object>> myList= new ArrayList<Map<String, Object>>();
    Type listType = TypeToken.get(myList.getClass()).getType();
    myList= (new Gson()).fromJson(jsonElement, listType);

    return myList;
}   

Das Ergebnis dieser Funktion ist eine Liste (length == 2 im obigen Fall), aber anstelle von 2 Karten bin ich immer 2 Objekte.

Hilfe?
Danke!

InformationsquelleAutor akaspi | 2012-12-03
Schreibe einen Kommentar