Maison >développement back-end >C++ >Pourquoi ma désérialisation JSON échoue-t-elle lorsqu'un tableau est attendu au lieu d'un objet?

Pourquoi ma désérialisation JSON échoue-t-elle lorsqu'un tableau est attendu au lieu d'un objet?

DDD
DDDoriginal
2025-01-27 05:16:12762parcourir

Why Does My JSON Deserialization Fail When an Array is Expected Instead of an Object?

La désérialisation du tableau JSON vers la classe attendue a échoué

Le message d'erreur indique que la chaîne JSON en cours de désérialisation est un tableau et que le type de cible de désérialisation RetrieveMultipleResponse attend un objet JSON. Vous trouverez ci-dessous une description du problème et des solutions possibles :

Question :

La chaîne JSON fournie est un tableau d'objets JSON, comme indiqué par les crochets [] :

<code>[
    { ... },
    { ... },
    { ... }
]</code>

Cependant, la classe RetrieveMultipleResponse attend un seul objet JSON car ses attributs (attributs, nom et ID) sont définis sous forme de valeurs uniques plutôt que de tableaux.

Solution :

Pour résoudre ce problème, vous pouvez modifier votre code pour désérialiser la chaîne JSON en une collection d'objets RetrieveMultipleResponse au lieu d'un seul objet. Voici un exemple :

<code class="language-csharp">var objResponse1 = JsonConvert.DeserializeObject<List<RetrieveMultipleResponse>>(JsonStr);</code>

En utilisant List<RetrieveMultipleResponse>, vous indiquez que la chaîne JSON doit être un tableau d'objets RetrieveMultipleResponse, permettant au processus de désérialisation de réussir.

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