Ho postato la domanda in modo errato. Sto postando correttamente la domanda qui ...Jackson - Deserialize Variabile della classe generica
Sto ricevendo una stringa JSON come risposta HTTP. Conosco la struttura di esso. È il seguente:
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;
}
Il campo "dati" può appartenere a qualsiasi classe. Lo saprò solo in fase di esecuzione. Lo prenderò come parametro. Questo è il modo in cui sto deserializzando.
public <T> void deSerialize(Class<T> clazz) {
ObjectMapper mapper = new ObjectMapper();
mapper.readValue(jsonString, new TypeReference<Json<T>>() {});
}
ma sto ottenendo un errore -
non può accedere java.lang.class.Class privato() da java.lang.Class. Impossibile impostare l'accesso. Impossibile rendere un costruttore java.lang.Class accessibile
Perché duplicare la questione (vedi http://stackoverflow.com/questions/11664894/jackson-deserialize-using-generic-class/11681540)? – StaxMan
vedere http://stackoverflow.com/questions/17400850/is-jackson-really-unable-to-deserialize-json-into-a-generic-type – lisak