一尘不染

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

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))

阅读 236

收藏
2020-07-27

共1个答案

一尘不染

OrderId是json中的一个Int(请注意,值周围缺少引号),但是您在“
jsTextArea”中将其声明为String。另外,除非将原始数据返回的类型强制转换为List(Of
jsTextArea),否则它可能不会显示的代码无效。

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

    Dim js As New System.Web.Script.Serialization.JavaScriptSerializer
    Dim lstTextAreas = js.Deserialize(Of List(Of jsTextArea))(textAreaJson)
2020-07-27