He publicado la pregunta erróneamente. Estoy publicando la pregunta correctamente aquí ...Jackson - Deserializar Clase genérica variable
Estoy recibiendo una cadena json como respuesta HTTP. Sé la estructura de eso. Es el siguiente:
public class Json<T> {
public Hits<T> hits;
}
public class Hits<T> {
public int found;
public int start;
public ArrayList<Hit<T>> hit;
}
public class Hit<T> {
public String id;
public Class<T> data;
}
El campo "datos" puede pertenecer a cualquier clase. Lo sabré en tiempo de ejecución solamente. Lo obtendré como un parámetro. Así es como estoy deserializando.
public <T> void deSerialize(Class<T> clazz) {
ObjectMapper mapper = new ObjectMapper();
mapper.readValue(jsonString, new TypeReference<Json<T>>() {});
}
Pero estoy recibiendo un error -
no pueden acceder a java.lang.class.Class privada() desde java.lang.Class. Error al establecer el acceso No se puede hacer accesible un constructor de java.lang.Class
¿Por qué duplicar la pregunta (ver http://stackoverflow.com/questions/11664894/jackson-deserialize-using-generic-class/11681540)? – StaxMan
ver http://stackoverflow.com/questions/17400850/is-jackson-really-unable-to-deserialize-json-into-a-generic-type – lisak