JSON使用VB.NET隔离
问题描述:
我想从嵌套对象序列化一些JSON到一个字符串。不过我有对象JSON使用VB.NET隔离
Class RequestTaxes
Public Property usrname As String
Public Property pswrd As String
Public Property isAudit As Boolean
Public Property currn As String
Public Property lines() As TaxLines
End Class
Class TaxLines
Public Property debCredIndr As Integer
Public Property goodSrvCd As String
Public Property grossAmt As Double
Public Property lnItmId As String
Public Property qnty As Double
Public Property trnTp As Integer
Public Property accntDt As DateTime
Public Property custVendName As String
Public Property custVendCd As String
Public Property orgCd As String
End Class
内与阵列的问题然而,当我尝试序列化的字符串传递给API,因为围绕“行”列表中的方括号缺少它被拒绝。
有没有人知道在使用Newtonsoft时要把这些放在哪里?
Dim Settings As New JsonSerializerSettings
Settings.NullValueHandling = NullValueHandling.Ignore
Dim InputString As String = JsonConvert.SerializeObject(message, Settings)
“消息”载型RequestTaxes的填充物
答
其实我需要做的
Public Property lines As List(of TaxLines)
答
我觉得你有你的属性声明有点过。
Public Property lines() As TaxLines
相当于
Public Property lines As TaxLines
也就是说你TaxLines只有一个实例,而不是一个数组。
您需要在该行的结束,像这样加上括号:
Public Property lines() As TaxLines()
什么是确切的错误信息?我不认为这真的必须与括号 – Plutonix
这可能是[不能Json反序列化Youtube数据与VB.net](https://stackoverflow.com/a/45388173/3744182),但我们需要看到JSON和包含消息,回溯,异常类型和内部异常的完整的'ToString()'输出。 – dbc
从这个问题来看,它与我们所看到的密切相关,但可以说不是一个骗局,因为这是序列化与反序列化。不过很好找。 –