Lorsque vous utilisez Gson pour transférer un objet de liste, vous pouvez rencontrer des défis lorsque vous traitez des types génériques. Cet article fournit un guide complet pour désérialiser des listes génériques avec Gson.
Problème :
Tenter de désérialiser une liste à l'aide de new List
Solution :
Pour désérialiser correctement une liste générique, utilisez la classe TypeToken comme suit :
Type listType = new TypeToken<List<MyClass>>() {}.getType(); MyClass mc = new Gson().fromJson(result, listType);
Cette approche élimine le besoin de getClass () invocation, fournissant une réponse plus concise et efficace solution.
Explication :
TypeToken capture le type générique au moment de la compilation. La sous-classe anonyme créée lors de l'instanciation garantit que les informations de type correctes sont conservées lorsqu'elles sont transmises à la méthode fromJson de Gson. Cela garantit une désérialisation appropriée de votre liste générique.
Remarques supplémentaires :
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!