JavaScriptSerializer. Comment ignorer la propriété
Je sais à propos de ScriptIgnoreAttribute.
Mais que faire si je veux ignorer une propriété basée sur des critères.
Par exemple, comment ignorer un nullable de propriété sur la sérialisation seulement si elle est null et ne contiennent pas de valeur?
J'ai décidé d'utiliser une méthode qui retourne un dictionnaire qui contient uniquement les objets qui doivent être sérialisé. Et puis sérialiser le dictionnaire. Overkill? Discutable. Si vous voulais le plein contrôle sur la sérialisation des objets, c'est le chemin à parcourir. La classe JavaScriptSerializer retourne un natif dictionnaire de toute façon, cela vous donne la liberté de le placer dans votre objet personnalisé. Quand je fais face à l'information abstraite, je vais souvent utiliser le mot-clé dynamic et analyser les données moi-même.
using System;
using System.Web.Script.Serialization;publicclassGroup{//The JavaScriptSerializer ignores this field.[ScriptIgnore]publicstringComment;//The JavaScriptSerializer serializes this field.publicstringGroupName;}
il a déjà dit qu'il le savoir [ScriptIgnore] Je n'ai pas upvoted ce parce que même si elle m'a aidé à sortir, il ne répond pas à la question posée.
Meilleure réponse possible j'ai, c'est de faire votre propre JavaScriptConverter et d'analyse du bien, fondé sur sa propre condition(s).
Overkill? Discutable. Si vous voulais le plein contrôle sur la sérialisation des objets, c'est le chemin à parcourir. La classe JavaScriptSerializer retourne un natif dictionnaire de toute façon, cela vous donne la liberté de le placer dans votre objet personnalisé. Quand je fais face à l'information abstraite, je vais souvent utiliser le mot-clé dynamic et analyser les données moi-même.
OriginalL'auteur Brad Christie
https://msdn.microsoft.com/tr-tr/library/system.web.script.serialization.scriptignoreattribute(v=vs. 110).aspx
Utilisation [ScriptIgnore]
Je n'ai pas upvoted ce parce que même si elle m'a aidé à sortir, il ne répond pas à la question posée.
OriginalL'auteur akdora
J'ai utilisé interne au lieu de propriétés publiques et il a travaillé pour moi
OriginalL'auteur relly