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 }
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);
In diesem Beispiel erstellen wir eine TypeReference für 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!