gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 05:21:12 25 4
gpt4 key购买 nike

我一直在想办法忽略一些 对象 根据某些条件进行序列化。我能找到的只是如何使用 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.net - JSON.NET 中的条件对象序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16599861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com