Maison > Java > javaDidacticiel > Comment désérialiser un tableau d'objets dans Jackson en utilisant Java ?

Comment désérialiser un tableau d'objets dans Jackson en utilisant Java ?

Patricia Arquette
Libérer: 2024-12-21 07:46:13
original
732 Les gens l'ont consulté

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

Désérialiser un tableau d'objets avec Jackson

La documentation de Jackson revendique la prise en charge de la désérialisation de tableaux d'objets, mais la syntaxe spécifique peut ne pas être claire. Explorons deux approches pour désérialiser un tableau d'objets.

Considérations sur la sérialisation

Considérez l'entrée JSON suivante pour un tableau d'objets :

[{
    "id" : "junk",
    "stuff" : "things"
},
{
    "id" : "spam",
    "stuff" : "eggs"
}]
Copier après la connexion

Approche de désérialisation 1 : comme Array

Instancier un ObjectMapper et utiliser readValue pour désérialiser l'entrée sous forme de tableau du type d'objet cible :

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

// Deserialize JSON into an array of MyClass objects
MyClass[] myObjects = mapper.readValue(jsonInput, MyClass[].class);
Copier après la connexion

Approche de désérialisation 2 : en tant que liste

Pour désérialiser l'entrée sous forme de liste, on peut utiliser le nouveau TypeReference ou constructCollectionType :

Option a : Utilisation de 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);
Copier après la connexion

Option b : Utilisation de constructCollectionType

// 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);
Copier après la connexion

Avec ceux-ci approches, vous pouvez désérialiser de manière flexible des tableaux d'objets dans les structures de données souhaitées en Java à l'aide de Jackson.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal