Heim  >  Artikel  >  Java  >  Wie kann ich JSON mit Jackson in eine generische Klasse deserialisieren?

Wie kann ich JSON mit Jackson in eine generische Klasse deserialisieren?

DDD
DDDOriginal
2024-11-19 01:35:03696Durchsuche

How Can I Deserialize JSON into a Generic Class with Jackson?

Generische Klassendeserialisierung mit Jackson

Beim Versuch, JSON-Daten in eine generische Klasse wie Data zu deserialisieren, stellt sich die Frage So geben Sie den Typparameter T an. Der typische Ansatz der Verwendung von mapper.readValue(jsonString, Data.class) erstellt nur eine Instanz von Data, der spezifische Typ von T bleibt jedoch unbekannt.

Lösung

Jackson bietet eine Lösung durch die TypeReference-Klasse. Indem wir ein TypeReference-Objekt für den gewünschten generischen Typ erstellen und es an die readValue-Methode übergeben, können wir den Typparameter explizit angeben.

mapper.readValue(jsonString, new TypeReference<Data<String>>() {});

In diesem Beispiel wird eine TypeReference für die generische Klasse Data

Das obige ist der detaillierte Inhalt vonWie kann ich JSON mit Jackson in eine generische Klasse deserialisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn