将json数组反序列化为.net类

Gor*_*onB 4 vb.net serialization json

我在反序列化一些json数据,获取InvalidCastExceptions等方面遇到了问题.

谁能指出我正确的方向?

这是我想要反序列化的json;

[{ "的OrderId":0, "名称": "摘要", "MAXLEN": "200"},{ "的OrderId":1, "名称": "详细信息", "MAXLEN": "0"}]

这是我的代码;

  Public Class jsTextArea
    Public OrderId As Integer
    Public Name As String
    Public MaxLen As String
  End Class

Dim js As New System.Web.Script.Serialization.JavaScriptSerializer
Dim rawdata = js.DeserializeObject(textAreaJson)
Dim lstTextAreas As List(Of jsTextArea) = CType(rawdata, List(Of jsTextArea))
Run Code Online (Sandbox Code Playgroud)

Rob*_*Rob 5

OrderId是你的json中的一个Int(注意缺少围绕值的引号),但你在"jsTextArea"中将它声明为String.此外,除非返回rawdata的类型具有对List(Of jsTextArea)的强制转换,否则它可能不会显示您所显示的代码.

更新 要将数据输出到List(Of jsTextArea),请尝试以下操作:

    Dim js As New System.Web.Script.Serialization.JavaScriptSerializer
    Dim lstTextAreas = js.Deserialize(Of List(Of jsTextArea))(textAreaJson)
Run Code Online (Sandbox Code Playgroud)