Heim > Java > javaLernprogramm > Wie deserialisiere ich JSON mit Jackson in generische Typen?

Wie deserialisiere ich JSON mit Jackson in generische Typen?

DDD
Freigeben: 2024-11-23 13:23:11
Original
528 Leute haben es durchsucht

How to Deserialize JSON into Generic Types with Jackson?

Generische Deserialisierung mit Jackson

Beim Deserialisieren von JSON-Daten in eine generische Klasse wie Data ist es oft notwendig, den Typ anzugeben der generische Parameter T. Der Standardansatz mit mapper.readValue(jsonString, Data.class) bietet dies nicht Informationen.

Um dieses Problem zu beheben, verlässt sich Jackson auf das TypeReference-Objekt. Indem Sie eine TypeReference speziell für den gewünschten generischen Typ erstellen, können Sie den Deserialisierungsprozess steuern.

Um einen JSON-String in eine Instanz von Data zu deserialisieren, instanziieren Sie eine TypeReference mit anonymer innerer Klassensyntax:

TypeReference<Data<String>> typeRef = new TypeReference<Data<String>>() {};
Nach dem Login kopieren

Übergeben Sie dann die TypeReference als zweites Argument an den readValue Methode:

Data<String> data = mapper.readValue(jsonString, typeRef);
Nach dem Login kopieren

Dieser Ansatz stellt sicher, dass Jackson den spezifischen Typ von T kennt, in den deserialisiert werden soll, was zu einem korrekten Deserialisierungsverhalten führt.

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

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage