我在反序列化一些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))
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)