Maison > Java > javaDidacticiel > Comment désérialiser JSON en types génériques avec Jackson ?

Comment désérialiser JSON en types génériques avec Jackson ?

DDD
Libérer: 2024-11-23 13:23:11
original
525 Les gens l'ont consulté

How to Deserialize JSON into Generic Types with Jackson?

Désérialisation générique avec Jackson

Lors de la désérialisation de données JSON dans une classe générique comme Data, il est souvent nécessaire de spécifier le type de le paramètre générique T. L'approche standard utilisant mapper.readValue(jsonString, Data.class) ne fournit pas cela informations.

Pour résoudre ce problème, Jackson s'appuie sur l'objet TypeReference. En créant un TypeReference spécifiquement pour le type générique souhaité, vous pouvez guider le processus de désérialisation.

Pour désérialiser une chaîne JSON en une instance de Data, instanciez un TypeReference à l'aide de la syntaxe de classe interne anonyme :

TypeReference<Data<String>> typeRef = new TypeReference<Data<String>>() {};
Copier après la connexion

Ensuite, transmettez le TypeReference comme deuxième argument à readValue méthode :

Data<String> data = mapper.readValue(jsonString, typeRef);
Copier après la connexion

Cette approche garantit que Jackson connaît le type spécifique de T dans lequel désérialiser, ce qui entraîne un comportement de désérialisation correct.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal