Erreur de désérialisation du tableau JSON : raisons de dépannage
Lorsque vous essayez de désérialiser des données JSON, assurez-vous toujours que la structure JSON est cohérente avec l'objet ou le type de collection attendu. Dans ce cas, l'erreur rencontrée est :
<code>“无法将当前JSON数组(例如[1,2,3])反序列化为类型'test.Model.RetrieveMultipleResponse',因为该类型需要一个JSON对象(例如{"name":"value"})才能正确反序列化。”</code>
Comprendre la structure JSON
Le JSON fourni représente un tableau d'objets RetrieveMultipleResponse :
<code>[ { ... }, { ... }, { ... } ]</code>
Cette structure indique que le JSON est un tableau d'objets RetrieveMultipleResponse individuels, et non un seul objet.
Faire correspondre la structure JSON au type de cible
Le type de cible de désérialisation spécifié est « RetrieveMultipleResponse », qui attend un seul objet. Cependant, la structure JSON est un tableau d'objets. Pour résoudre cette incompatibilité, nous devons désérialiser le JSON en un type de collection capable de gérer des tableaux d'objets.
Solution : Désérialiser en type de collection
Pour désérialiser correctement un tableau JSON, nous devons utiliser un type de collection comme type cible :
<code>var objResponse1 = JsonConvert.DeserializeObject<List<RetrieveMultipleResponse>>(JsonStr);</code>
Nous pouvons désérialiser avec succès un tableau d'objets RetrieveMultipleResponse en changeant le type de cible en un type de collection (par exemple, List).
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!