Maison > Java > javaDidacticiel > Pourquoi GSON lance-t-il « BEGIN_OBJECT attendu mais était BEGIN_ARRAY » lors de l'analyse des tableaux JSON ?

Pourquoi GSON lance-t-il « BEGIN_OBJECT attendu mais était BEGIN_ARRAY » lors de l'analyse des tableaux JSON ?

Linda Hamilton
Libérer: 2025-01-01 01:25:10
original
773 Les gens l'ont consulté

Why Does GSON Throw

BEGIN_OBJECT attendu mais était BEGIN_ARRAY avec GSON

Lors de la tentative d'analyse d'une chaîne JSON contenant un tableau d'objets dans une liste d'objets à l'aide de GSON , le problème de « BEGIN_OBJECT attendu mais était BEGIN_ARRAY » se pose. Cela se produit parce que GSON anticipe l'analyse d'un seul objet, mais rencontre à la place un tableau d'objets.

Pour résoudre ce problème, la méthode correcte consiste à spécifier que la structure de données attendue est un tableau d'objets. Ceci peut être réalisé en modifiant le code comme suit :

ChannelSearchEnum[] enums = gson.fromJson(yourJson, ChannelSearchEnum[].class);
Copier après la connexion

Alternativement, pour plus de flexibilité, vous pouvez utiliser le code suivant :

Type collectionType = new TypeToken<Collection<ChannelSearchEnum>>(){}.getType();
Collection<ChannelSearchEnum> enums = gson.fromJson(yourJson, collectionType);
Copier après la connexion

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 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