Utilisez Json.Net pour désérialiser les propriétés sans sérialiser
Dans certains cas, vous devrez peut-être désérialiser les propriétés d'un objet JSON sérialisé, mais vous ne souhaitez pas les réécrire lors de la sérialisation. Voici comment y parvenir en utilisant Json.Net.
Méthode 1 : méthode ShouldSerialize
Json.Net vous permet de sérialiser conditionnellement des propriétés en définissant la méthode ShouldSerialize dans la classe. Créez une méthode ShouldSerializeBlah() (où Blah est la propriété que vous ne souhaitez pas sérialiser) et faites en sorte qu'elle renvoie toujours false :
<code>public bool ShouldSerializeObsoleteSetting() { return false; }</code>
Méthode 2 : Utiliser JObject pour faire fonctionner JSON
Utilisez JObject.FromObject pour charger des objets dans JObject. Supprimez les attributs inutiles avant d'écrire en JSON :
<code>JObject jo = JObject.FromObject(config); jo["ObsoleteSetting"].Parent.Remove(); json = jo.ToString();</code>
Troisième méthode : abus d'attributs
Appliquez l'attribut [JsonIgnore] aux propriétés que vous ne souhaitez pas sérialiser. Définissez un setter de propriété privée avec le même type et le même nom que la propriété d'origine et appliquez-lui l'attribut [JsonProperty] en utilisant le même nom JSON :
<code>[JsonIgnore] public Fizz ObsoleteSetting { get; set; } [JsonProperty("ObsoleteSetting")] private Fizz ObsoleteSettingAlternateSetter { set { ObsoleteSetting = value; } }</code>
En utilisant l'une des méthodes ci-dessus, vous pouvez exclure sélectivement les propriétés de la sérialisation tout en autorisant la dé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!