我有一个要序列化的DTO类
Json.Serialize(MyClass)
如何排除它的 公共 财产?
(它必须是公共的,因为我在其他地方的代码中使用了它)
如果System.Web.Script.Serialization在.NET Framework 中使用,则可以ScriptIgnore在不应序列化的成员上放置一个属性。请参阅此处的示例:
System.Web.Script.Serialization
ScriptIgnore
考虑以下(简化)情况: public class User { public int Id { get; set; } public string Name { get; set; } [ScriptIgnore] public bool IsComplete { get { return Id > 0 && !string.IsNullOrEmpty(Name); } } } 在这种情况下,只有Id和Name属性将被序列化,因此生成的JSON对象将如下所示: { Id: 3, Name: 'Test User' }
考虑以下(简化)情况:
public class User { public int Id { get; set; } public string Name { get; set; } [ScriptIgnore] public bool IsComplete { get { return Id > 0 && !string.IsNullOrEmpty(Name); } } }
在这种情况下,只有Id和Name属性将被序列化,因此生成的JSON对象将如下所示:
{ Id: 3, Name: 'Test User' }
PS。 不要忘了添加对“ System.Web.Extensions” 的引用以使其工作
System.Web.Extensions