当前位置:  开发笔记 > 编程语言 > 正文

如何在使用JSON.Net进行序列化期间有条件地忽略字段和属性?

如何解决《如何在使用JSON.Net进行序列化期间有条件地忽略字段和属性?》经验,为你挑选了1个好方法。

如何在使用JSON.Net进行序列化期间有条件地忽略字段和属性?我不能继承,JsonIgnoreAttribute因为它是一个sealed阶级.我该怎么办?



1> Mikael Koski..:

您可以使用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


从未有过这样的运气,断点表明在序列化过程中甚至都没有调用它.
推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有