How to Ignoring Fields and Properties Conditionally During Serialization Using JSON.Net?

后端 未结 2 510
迷失自我
迷失自我 2020-12-09 18:04

How to Ignoring Fields and Properties Conditionally During Serialization Using JSON.Net? I can\'t inherit from JsonIgnoreAttribute because it\'s a sealed<

2条回答
  •  被撕碎了的回忆
    2020-12-09 18:39

    You can use JSON.NET's ShouldSerialize-syntax. There's a good example on JSON.NET site:

    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);
        }
    }
    

    If ShouldSerialize doesn't fit your needs, you can take full control of the serialization with the ContractResolvers: http://www.newtonsoft.com/json/help/html/ContractResolver.htm

提交回复
热议问题