Décodage des structures de données imbriquées avec GSON
Les données JSON fournies représentent un tableau d'objets, tandis que le code de décodage anticipe un seul objet de la classe ChannelSearchEnum. Cette incompatibilité entraîne l'exception "BEGIN_OBJECT attendu mais était BEGIN_ARRAY".
Pour résoudre ce problème, l'approche de décodage doit être modifiée pour gérer un tableau d'objets. Une méthode appropriée consiste à utiliser la classe TypeToken en combinaison avec la méthode fromJson.
Type collectionType = new TypeToken<Collection<ChannelSearchEnum>>(){}.getType(); Collection<ChannelSearchEnum> enums = gson.fromJson(json, collectionType);
Ce code crée un jeton de type pour une collection d'objets ChannelSearchEnum, puis l'utilise pour spécifier le type souhaité lors de la désérialisation. En conséquence, GSON analysera correctement le tableau JSON et remplira une collection contenant des instances ChannelSearchEnum individuelles.
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!