将json数组反序列化为vb.NET对象异常-无法序列化为,因为类型需要数组

将json数组反序列化为vb.NET对象异常-无法序列化为,因为类型需要数组,json,vb.net,Json,Vb.net,我正在遵循反序列化数组的指导原则,但不明白为什么会出现这种异常。我还尝试了一个非空的json字符串,与下面的不同 Private Class lobbActivity Public Property billNum_List() As String Public Property ruleOrReg_List() As String Public Property ratemaking_List() As String Public Property Pcontr

我正在遵循反序列化数组的指导原则,但不明白为什么会出现这种异常。我还尝试了一个非空的json字符串,与下面的不同

Private Class lobbActivity
    Public Property billNum_List() As String
    Public Property ruleOrReg_List() As String
    Public Property ratemaking_List() As String
    Public Property PcontrNum_List() As String
    Public Property Ptitle_List() As String
    Public Property MuniOrd_List() As String
    Public Property MuniRed_List() As String
    Public Property ExOrders_List() As String
    Public Property TribeSub_List() As String
    Public Property Tribes_List() As String
End Class

Function JSONCreateLobbyist(ByVal activityArr As String)
     Dim item = Newtonsoft.Json.JsonConvert.DeserializeObject(Of lobbActivity())(activityArr)

最终使用了不同的有效语法

Dim act As lobbActivity = js.Deserialize(Of lobbActivity)(activityArr)

属性不是数组,而是字符串。使用以下修改的类

Private Class lobbActivity
    Public Property billNum_List() As String()
    Public Property ruleOrReg_List() As String()
    Public Property ratemaking_List() As String()
    Public Property PcontrNum_List() As String()
    Public Property Ptitle_List() As String()
    Public Property MuniOrd_List() As String()
    Public Property MuniRed_List() As String()
    Public Property ExOrders_List() As String()
    Public Property TribeSub_List() As String()
    Public Property Tribes_List() As String()
End Class

属性不是数组,而是字符串。使用以下修改的类

Private Class lobbActivity
    Public Property billNum_List() As String()
    Public Property ruleOrReg_List() As String()
    Public Property ratemaking_List() As String()
    Public Property PcontrNum_List() As String()
    Public Property Ptitle_List() As String()
    Public Property MuniOrd_List() As String()
    Public Property MuniRed_List() As String()
    Public Property ExOrders_List() As String()
    Public Property TribeSub_List() As String()
    Public Property Tribes_List() As String()
End Class

如果在VisualStudio中使用“粘贴为JSON”功能,则该功能无法正确定义数组属性

Private Class lobbActivity
    Public Property billNum_List As String()
    Public Property ruleOrReg_List As String()
    Public Property ratemaking_List As String()
    Public Property PcontrNum_List As String()
    Public Property Ptitle_List As String()
    Public Property MuniOrd_List As String()
    Public Property MuniRed_List As String()
    Public Property ExOrders_List As String()
    Public Property TribeSub_List As String()
    Public Property Tribes_List As String()
End Class

如果在VisualStudio中使用“粘贴为JSON”功能,则该功能无法正确定义数组属性

Private Class lobbActivity
    Public Property billNum_List As String()
    Public Property ruleOrReg_List As String()
    Public Property ratemaking_List As String()
    Public Property PcontrNum_List As String()
    Public Property Ptitle_List As String()
    Public Property MuniOrd_List As String()
    Public Property MuniRed_List As String()
    Public Property ExOrders_List As String()
    Public Property TribeSub_List As String()
    Public Property Tribes_List As String()
End Class

我仍然遇到同样的异常,我想我需要将JsonObjectAttribute添加到TypeEnd中,并尝试了不同的方法,结果成功了。Dim act As LobbaActivity=js.Deserialize(lobbaActivity的)(activityArr)我仍然得到相同的异常,我认为我需要将JsonObjectAttribute添加到类型中。最后尝试了不同的方法,结果成功了。Dim充当LobbaActivity=js.反序列化(LobbaActivity的)(activityArr)