如何在使用JSON.Net进行序列化期间有条件地忽略字段和属性?我不能继承,JsonIgnoreAttribute
因为它是一个sealed
阶级.我该怎么办?
您可以使用JSON.NET的ShouldSerialize -syntax.在JSON.NET网站上有一个很好的例子:
http://www.newtonsoft.com/json/help/html/ConditionalProperties.htm
public class Employee { public string Name { get; set; } public Employee Manager { get; set; } public bool ShouldSerializeManager() { // don't serialize the Manager property if an employee is their own manager return (Manager != this); } }
如果ShouldSerialize不符合您的需求,您可以使用ContractResolvers完全控制序列化:http://www.newtonsoft.com/json/help/html/ContractResolver.htm