Using JSON.net, how do I prevent serializing properties of a derived class, when used in a base class context?

后端 未结 6 1594
花落未央
花落未央 2020-12-01 00:20

Given a data model:

[DataContract]
public class Parent
{
    [DataMember]
    public IEnumerable Children { get; set; }
}

[DataContract]
publ         


        
6条回答
  •  爱一瞬间的悲伤
    2020-12-01 00:55

    Check out the answers in this similar thread, particularly the IgnorableSerializerContractResolver in my answer and the nicer lambda version

    Usage:

    var jsonResolver = new IgnorableSerializerContractResolver();
    // ignore single property
    jsonResolver.Ignore(typeof(Company), "WebSites");
    // ignore single datatype
    jsonResolver.Ignore(typeof(System.Data.Objects.DataClasses.EntityObject));
    var jsonSettings = new JsonSerializerSettings() { ReferenceLoopHandling = ReferenceLoopHandling.Ignore, ContractResolver = jsonResolver };
    

提交回复
热议问题