使用数组反序列化 Json 并在 VB.net 中列出

Deserialize Json with array and list in VB.net

提问人:LukaGer 提问时间:9/20/2023 最后编辑:nbkLukaGer 更新时间:9/20/2023 访问量:29

问:

我有一个问题来反序列化这个json:

{"heading":["Date","item","Time"],
"Data":{"CAN":[["2023-09-04T17:48:05","B00412-E5015186",4]
, ["2023-09-04T17:47:03","B00412-E5015186",7],
,["2023-09-04T06:34:51","B00412-E5015186",5]]}}

我使用

 Dim myObj = Newtonsoft.Json.JsonConvert.DeserializeObject(Of MyObject_Dati)(_json)

我尝试使用这个对象

 Public Class MyObject_Dati
    Public Property head_ As String()
    Public Property data As List(Of MyItem)
    Public Class MyItem_dati_doc
        Public Property DataOra As String()
    End Class
End class

错误是: 无法反序列化当前 JSON 对象....因为该类型需要一个 JSON 数组(例如 [1,2,3])才能正确反序列化

PAth Dati.CAN 1号线

我认为我的对象的定义有问题。 谢谢

json vb.net json-deserialization

评论

0赞 LukaGer 9/20/2023
当然有一个逗号:“B00412-E5015186”,7],,[“2023-09-04T06:34:51
0赞 tval 9/20/2023
使 MyItem 成为数组而不是列表:Public Property data As MyItem()
0赞 LukaGer 9/20/2023
对不起,我尝试使用公共属性 datia As List(Of Myitem()) 和公共属性 datia As Myitem() 。哪个是正确的?另一个问题:在myitem中,我必须有3个不同的属性,因为我有3个字段,或者只有一个,因为它是一个数组?codecode
0赞 Craig 9/20/2023
@tval 它应该能够将一个json数组放入一个刚刚好的数组中。List(Of T)
0赞 Craig 9/20/2023
Data是 JSON 中的单个对象,而不是数组,但您在类定义中将其作为它的内容是数组的数组,而不是一维数组。您是否尝试过使用 Visual Studio 功能将 json 粘贴为类定义?List

答: 暂无答案