我有一个Data类,它是根据贸易伙伴返回的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字符串之前,先检查json字符串并去除“ Location”:[],。
答案 0 :(得分:0)
这是对我有用的代码。就像Side Node一样,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