Heim > Java > javaLernprogramm > Hauptteil

Wie deserialisiere ich JSON mit Jackson in eine generische Klasse?

DDD
Freigeben: 2024-11-20 11:41:19
Original
562 Leute haben es durchsucht

How to Deserialize JSON into a Generic Class with Jackson?

JSON mit generischen Typen mit Jackson deserialisieren

Frage: So deserialisieren Sie JSON-Daten mit Jackson in eine generische Klasse ?

Betrachten Sie das folgende Beispiel Klasse:

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

Ein standardmäßiger JSON-Deserialisierungsversuch mit mapper.readValue(jsonString, Data.class) schlägt fehl. Um die Daten korrekt zu deserialisieren, müssen wir den Typparameter angeben.

Antwort: Jackson stellt eine TypeReference-Klasse zur Verfügung, um generische Typen während der Deserialisierung zu verarbeiten. Um es zu verwenden:

  1. Erstellen Sie ein TypeReference-Objekt für die generische Klasse. In diesem Beispiel ist die Typreferenz für Data wäre:

    new TypeReference<Data<String>>() {}
    Nach dem Login kopieren
  2. Übergeben Sie das TypeReference-Objekt an die readValue-Methode:

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

Dadurch werden die JSON-Daten korrekt deserialisiert eine Instanz von Data.

Das obige ist der detaillierte Inhalt vonWie deserialisiere ich JSON mit Jackson in eine generische Klasse?. 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