Gson de Json deserializa genéricos

Mientras trabajaba en una aplicación de Android, me encontré con un problema cuando quería crear un método genérico definitivo para enviar solicitudes HTTP (con loopj) y deserializarlas (con Gson).

Como puede saber mientras usagson.fromJson no puedes hacer así:

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

o

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

En lugar del objeto real (o lista de objetos reales en el segundo caso) que ha pasado comoT, conseguirásLinkedTreeMap objeto (o lista deLinkedTreeMap objetos).

Si desea un objeto aún deserializado de objetos de tipo genérico (-s), vea la respuesta a continuación.

+ Bonus: la solución genérica definitiva para loopj + gson

Gracias por los autores y comentaristas de estas publicaciones:

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

Cómo obtener un tipo concreto de interfaz genérica

Java Type Generic como argumento para GSON

Respuestas a la pregunta(1)

Su respuesta a la pregunta