禁止从 JSON 输出中取消空的对象列表



我有一个数据类,我从贸易合作伙伴返回的XML手动填充它。大多数情况下,返回的数据只会填充我的类中的几个字段,其他字段我设置为 Nothing(null(,然后使用

Dim settings As New JsonSerializerSettings
settings.NullValueHandling = NullValueHandling.Ignore

以禁止显示任何没有数据的字段。所有这些都很好用,但我想知道如何为我类中的对象列表做相同或类似的操作。现在,如果没有其中之一的数据,我仍然会得到这样的输出,这是一个空的 json 数组。

{
"Txnum": "APO100000007R",
"Dtsent": "20180625105938",
"Txtyp": "A",
"Location": [],
"Terminationdata": [],
"Responsestatus": {
"prespc": "FTRAVQ059",
"prespd": "LV1 IS REQUIRED "
}
}

所以我想知道我是否以及如何在返回它并剥离"位置"之前避免检查 json 字符串:例如 []。

这是对我有用的代码。就像侧节点一样,ShouldSerialize"PropertyName:(( 区分大小写,所以 ShouldSerializeLocation(( 工作,而 ShouldSerializelocation(( 不工作。在 Vb 代码中通常不区分大小写,所以只需注意这一点即可为您省去一些麻烦。

<XmlElement([Namespace]:=SynchronossNS)>
Public Property Location() As List(Of location)
Get
Return _location
End Get
Set
_location = Value
End Set
End Property
Public Function ShouldSerializeLocation() As Boolean
Return _location.Count > 0
End Function

最新更新