Maison >développement back-end >C++ >Comment puis-je exclure des propriétés de la sérialisation JSON avec Json.Net ?

Comment puis-je exclure des propriétés de la sérialisation JSON avec Json.Net ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-23 16:39:08307parcourir

How Can I Exclude Properties from JSON Serialization with Json.Net?

Comment exclure des attributs de la sérialisation JSON à l'aide de Json.Net

Lors de la sérialisation d'objets DTO à l'aide de Json.Net, il est souvent nécessaire d'exclure certains attributs. Même si la propriété est publique et requise ailleurs dans l'application, son exclusion de la sérialisation peut optimiser le transfert de données et réduire la taille JSON sérialisée.

Utilisez la fonctionnalité [JsonIgnore]

Un moyen simple consiste à utiliser l'attribut [JsonIgnore]. En annotant une propriété obligatoire avec cet attribut, vous pouvez empêcher son inclusion dans la sortie JSON sérialisée. Par exemple :

<code class="language-csharp">public class Car
{
    [JsonIgnore]
    public DateTime LastModified { get; set; }
}</code>

Dans cet exemple, l'attribut LastModified sera exclu de la représentation JSON sérialisée de la classe Car.

Utilisation des attributs DataContract et DataMember

Vous pouvez également profiter des fonctionnalités DataContract et DataMember. Vous pouvez contrôler de manière sélective quelles propriétés sont sérialisées en appliquant [DataContract] à la classe et [DataMember] aux propriétés à inclure. Par exemple :

<code class="language-csharp">[DataContract]
public class Computer
{
    [DataMember]
    public string Name { get; set; }

    [DataMember]
    public decimal SalePrice { get; set; }
}</code>

Les propriétés non annotées avec [DataMember] seront omises du JSON sérialisé.

Veuillez vous référer à la documentation Json.Net pour des informations plus complètes sur ces technologies.

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