Deserializing json array into .net class

json, serialization, vb.net

Solution

OrderId is an Int in your json (note the lack fo quotes round the values), but you're declaring it as String in "jsTextArea". Also, unless the type that rawdata is returned as has a cast to List(Of jsTextArea), which it probably doesn't the code you've shown won't work.

Update To get the data out into a List(Of jsTextArea) try the following:

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

Problem

I'm having problems deserializing some json data, getting InvalidCastExceptions and the like. Can anyone point me in the right direction? Here's the json i'm wanting to deserialize; [{"OrderId":0,"Name":"Summary","MaxLen":"200"},{"OrderId":1,"Name":"Details","MaxLen":"0"}] Here's my code; ``` 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)) ```

Original source