vb.net – JSON.NET中的条件对象序列化

前端之家收集整理的这篇文章主要介绍了vb.net – JSON.NET中的条件对象序列化前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直试图找出一种方法来忽略某些对象基于某些条件被序列化.我只能找到如何使用ShouldSerialize *方法忽略对象的属性,而不是如何忽略整个对象.

这是一个解释我情况的例子.公司可以拥有多名员工,员工可以是当前的也可以是非当前的.

Public Class Company
    Public Property Name As String
    Public Property Employees As List(Of Employee)
End Class

Public Class Employee
    Public Property FirstName As List(Of Name)
    Public Property LastName As List(Of Name)
    Public Property Current As Boolean
End Class

我希望能够忽略/排除非当前员工被序列化为json.

我现在能想到的唯一方法是将当前和非当前员工分成两个属性,这样我就可以使用< JsonIgnoreAttribute()>对于非现行的.

如:

Public Class Company
    Public Property Name As String
    Public Property CurrentEmployees As List(Of Employee)
    <JsonIgnoreAttribute()>
    Public Property PastEmployees As List(Of Employee)
End Class

Public Class Employee
    Public Property FirstName As List(Of Name)
    Public Property LastName As List(Of Name)
    Public Property Current As Boolean
End Class

但是我试图避免这种情况,因为我在实际情况中有很多这样的东西所以我不想将所有列表分成两个需要大量代码修改的列表.如果只能在json序列化方面完成它会很好.

任何帮助赞赏.谢谢!

解决方法

Json.Net支持条件序列化.
请查看以下链接以了解实施情况

http://james.newtonking.com/projects/json/help/html/ConditionalProperties.htm

猜你在找的VB相关文章