Jackson - Deserialize Generische Klassenvariable
Ich hatte die Frage falsch gestellt. Ich poste die Frage hier richtig ...
Ich erhalte eine JSON-Zeichenfolge als HTTP-Antwort. Ich kenne die Struktur davon. Es ist wie folgt:
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;
}
Das Feld "Daten" kann zu jeder Klasse gehören. Ich werde es nur zur Laufzeit wissen. Ich werde es als Parameter bekommen. So deserialisiere ich.
public <T> void deSerialize(Class<T> clazz) {
ObjectMapper mapper = new ObjectMapper();
mapper.readValue(jsonString, new TypeReference<Json<T>>() {});
}
Aber ich erhalte einen Fehler -
kann nicht auf private java.lang.class.Class () von java.lang.class zugreifen. Zugriff konnte nicht festgelegt werden. Es kann nicht auf einen java.lang.Class-Konstruktor zugegriffen werden