Heim > Java > javaLernprogramm > Wie kann Jackson JSON in generische Klassen deserialisieren?

Wie kann Jackson JSON in generische Klassen deserialisieren?

Susan Sarandon
Freigeben: 2024-11-21 07:18:10
Original
312 Leute haben es durchsucht

How Can Jackson Deserialize JSON into Generic Classes?

JSON in generische Klassen deserialisieren mit Jackson

Bei der Arbeit mit JSON-Daten kann es vorkommen, dass wir JSON-Strings in Klassen deserialisieren müssen mit generischen Parametern. Die Jackson-Bibliothek bietet eine Möglichkeit, solche Deserialisierungsszenarien effektiv zu handhaben.

Um einen JSON-String in eine generische Klasse zu deserialisieren, müssen wir zunächst die Klasse mit dem generischen Typparameter definieren:

class Data<T> {
    int found;
    Class<T> hits
}
Nach dem Login kopieren

Um JSON nun in eine Instanz von Data zu deserialisieren, können wir die von Jackson bereitgestellte TypeReference-Klasse verwenden. Mit der TypeReference können wir den Typ der generischen Klasse angeben und den JSON entsprechend deserialisieren.

ObjectMapper mapper = new ObjectMapper();
String jsonString = "...";

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

In diesem Beispiel erstellen wir eine TypeReference für Data und übergeben Sie es als zweites Argument an readValue. Jackson deserialisiert dann den JSON-String in eine Instanz von Data.

Es ist wichtig zu beachten, dass wir bei Verwendung von TypeReference den spezifischen Typ des generischen Parameters angeben müssen. In diesem Fall haben wir String als Typ für T angegeben.

Durch die Verwendung von TypeReference können wir JSON mit Jackson effektiv in generische Klassen deserialisieren, sodass wir komplexe Datenstrukturen problemlos verarbeiten können.

Das obige ist der detaillierte Inhalt vonWie kann Jackson JSON in generische Klassen deserialisieren?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage