Maison > développement back-end > C++ > Comment puis-je ignorer les propriétés et les listes nuls en sérialisation JSON avec JSON.net?

Comment puis-je ignorer les propriétés et les listes nuls en sérialisation JSON avec JSON.net?

Mary-Kate Olsen
Libérer: 2025-01-28 17:16:13
original
565 Les gens l'ont consulté

How Can I Ignore Null Properties and Lists in JSON Serialization with Json.NET?

Utilisez JSON.net pour ignorer les attributs de JSON Serialization

Lorsque vous utilisez JSON.net pour la sérialisation, il est courant d'exclure sélectivement les attributs de l'air. Cet article traite de plusieurs technologies qui atteignent cet objectif, en particulier en faisant attention aux attributs de l'ignorance des objets de liste.

Aperçu de la question

Supposons que vous ayez une classe appelée test1, qui inclut l'id, l'étiquette, l'URL et une liste d'objets appelés test2. Vous espérez transformer les séquences Test1 en JSON, mais elle ne l'inclut que lorsque la liste Test2 n'est pas vide.

Attribut jsonignore

Si la liste Test2 est vide, vous pouvez utiliser l'attribut pour l'exclure de la sortie JSON. Cependant, cette méthode a des limites. Si la liste Test2 n'est pas vide, elle sera toujours incluse même si elle contient des éléments vacants.

JSONProperty Attributs en combinaison avec NullValueHandling

[JsonIgnore]

Une autre solution consiste à utiliser des attributs

avec ensemble. Cela vous permet d'ignorer l'attribut des paramètres explicites à Null. Le code suivant démontre cette méthode:

Définissez le Global NullValueHandling [JsonProperty] NullValueHandling=NullValueHandling.Ignore

Si vous souhaitez appliquer la valeur vide à tous les attributs de la classe, vous pouvez utiliser l'attribut
<code class="language-csharp">[JsonProperty("item", NullValueHandling = NullValueHandling.Ignore)]
public List<test2> Test2List { get; set; }</code>
Copier après la connexion
dans la classe elle-même. Cela garantira que toute vacance est ignorée pendant la sérialisation.

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