Maison > développement back-end > C++ > Comment désérialiser correctement JSON en classe POCO C# à l'aide de JsonConvert.DeserializeObject ?

Comment désérialiser correctement JSON en classe POCO C# à l'aide de JsonConvert.DeserializeObject ?

Susan Sarandon
Libérer: 2025-01-15 11:17:48
original
443 Les gens l'ont consulté

How to Properly Deserialize JSON to a C# POCO Class Using JsonConvert.DeserializeObject?

Désérialisez JSON en classe POCO C# à l'aide de JsonConvert.DeserializeObject

Question :

Lorsque vous essayez d'utiliser JsonConvert.DeserializeObject pour désérialiser des données JSON vers une classe POCO C#, une exception est levée en raison d'une désérialisation incorrecte d'une propriété spécifique.

Réponse :

Afin d'utiliser JsonConvert.DeserializeObject pour désérialiser correctement JSON en classe POCO, il est important de s'assurer que les noms de propriété dans la classe correspondent aux noms de propriété dans les données JSON. De plus, les étapes suivantes peuvent être nécessaires :

  1. Utilisez l'attribut JsonProperty : Utilisez l'attribut JsonProperty pour spécifier le nom de l'attribut JSON correspondant à un attribut de classe spécifique. Ceci est particulièrement utile lorsque le nom de la propriété JSON est différent du nom de la propriété de classe.
  2. Considérez les types d'attributs : Vérifiez que le type de données de chaque attribut de la classe POCO est cohérent avec le type attendu dans les données JSON. Par exemple, si les données JSON contiennent un tableau, la propriété correspondante dans la classe POCO doit être déclarée sous forme de liste.

Exemple :

Considérons l'exemple suivant où la propriété Accounts de la classe User doit être désérialisée à partir d'un objet JSON :

<code class="language-csharp">public class User
{
    [JsonProperty("accounts")]
    public Account Accounts { get; set; }

    // 其他User属性此处省略,以简洁起见
}

public class Account
{
    public string github { get; set; }
}</code>
Copier après la connexion

En utilisant l'attribut JsonProperty et en déclarant la propriété Accounts comme un objet Account spécifique, la désérialisation gérera correctement l'objet JSON pour cette propriété.

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!

source:php.cn
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