Gson fromJson Generika deserialisieren

Während der Arbeit an einer Android-App hatte ich ein Problem, als ich eine ultimative generische Methode zum Senden von HTTP-Anfragen (mit loopj) und zum Deserialisieren (mit Gson) erstellen wollte.

ie Sie vielleicht wissen, während Sie @ verwendgson.fromJson das kannst du nicht machen:

gson.fromJson(responseBody, new TypeToken<T>() {}.getType());

ode

gson.fromJson(responseBody, new TypeToken<ArrayList<T>>() {}.getType())

Anstelle des tatsächlichen Objekts (oder der Liste der tatsächlichen Objekte im 2. Fall), das Sie als @ übergeben habT, Sie erhaltenLinkedTreeMap Objekt (oder Liste vonLinkedTreeMap Objekte).

Wenn Sie ein generisches Objekt (-s) immer noch deserialisieren möchten, lesen Sie die Antwort unten.

+ Bonus: ultimative generische Lösung für loopj + gson

Vielen Dank für Autoren und Kommentatoren dieser Beiträge:

http: //blog.xebia.com/2009/02/07/acessing-generic-types-at-runtime-in-java

Wie man einen konkreten Typ einer generischen Schnittstelle bekommt

Java Type Generic als Argument für GSON

Antworten auf die Frage(1)

Ihre Antwort auf die Frage