Maison  >  Article  >  Java  >  Comment puis-je désérialiser JSON en une classe générique avec Jackson ?

Comment puis-je désérialiser JSON en une classe générique avec Jackson ?

DDD
DDDoriginal
2024-11-19 01:35:03696parcourir

How Can I Deserialize JSON into a Generic Class with Jackson?

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

Lorsque vous essayez de désérialiser des données JSON dans une classe générique comme Data, la question se pose de savoir comment spécifier le paramètre de type T. L'approche typique consistant à utiliser mapper.readValue(jsonString, Data.class) construit uniquement une instance de Data, mais le type spécifique de T reste inconnu.

Solution

Jackson fournit une solution via la classe TypeReference. En créant un objet TypeReference pour le type générique souhaité et en le passant à la méthode readValue, nous pouvons spécifier explicitement le paramètre de type.

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

Dans cet exemple, un TypeReference est créé pour la classe générique Data

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!

Déclaration:
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