Heim > Java > javaLernprogramm > Wie deserialisiere ich ein Array von Objekten in Jackson mit Java?

Wie deserialisiere ich ein Array von Objekten in Jackson mit Java?

Patricia Arquette
Freigeben: 2024-12-21 07:46:13
Original
768 Leute haben es durchsucht

How to Deserialize an Array of Objects in Jackson using Java?

Deserialisieren eines Arrays von Objekten mit Jackson

In der Jackson-Dokumentation wird Unterstützung für das Deserialisieren von Arrays von Objekten beansprucht, die spezifische Syntax ist jedoch möglicherweise unklar. Lassen Sie uns zwei Ansätze zum Deserialisieren eines Arrays von Objekten untersuchen.

Überlegungen zur Serialisierung

Betrachten Sie die folgende JSON-Eingabe für ein Array von Objekten:

[{
    "id" : "junk",
    "stuff" : "things"
},
{
    "id" : "spam",
    "stuff" : "eggs"
}]
Nach dem Login kopieren

Deserialisierungsansatz 1: As Array

Instanziieren Sie einen ObjectMapper und verwenden Sie readValue, um die Eingabe als Array des Zielobjekttyps zu deserialisieren:

// Instantiate an ObjectMapper
ObjectMapper mapper = new ObjectMapper();

// Deserialize JSON into an array of MyClass objects
MyClass[] myObjects = mapper.readValue(jsonInput, MyClass[].class);
Nach dem Login kopieren

Deserialisierungsansatz 2: Als Liste

Um die Eingabe als Liste zu deserialisieren, kann man new TypeReference oder verwenden constructionCollectionType:

Option a: Verwenden von TypeReference

// Create TypeReference for a list of MyClass objects
TypeReference<List<MyClass>> typeRef = new TypeReference<List<MyClass>>() {};

// Deserialize JSON input using the TypeReference
List<MyClass> myObjects = mapper.readValue(jsonInput, typeRef);
Nach dem Login kopieren

Option b: Verwenden von constructionCollectionType

// Create a CollectionType for a list of MyClass objects
JavaType type = mapper.getTypeFactory().constructCollectionType(List.class, MyClass.class);

// Deserialize JSON input using the CollectionType
List<MyClass> myObjects = mapper.readValue(jsonInput, type);
Nach dem Login kopieren

Mit diesen Mit diesen Ansätzen können Sie mit Jackson flexibel Arrays von Objekten in gewünschte Datenstrukturen in Java deserialisieren.

Das obige ist der detaillierte Inhalt vonWie deserialisiere ich ein Array von Objekten in Jackson mit Java?. 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