Imports System.Collections.Generic
Imports Newtonsoft.Json.Linq
Imports Newtonsoft.Json.Converters
Imports Newtonsoft.Json.Serialization
Public Class AtrSpaCitieDistrict
Public Property cityDistrict As String
Public Property isActive As String
Public Property atrSpaClassLegends As List(Of Legend)
Public Property id As String
Public Property classDesc As String
Public Property classCode As String
Public Property legend As String
Public Property isActive As String
Public Property atrSpaCityDistrictId As String
Public Property atrSpaCitieDistrict As AtrSpaCitieDistrict
Public Property id As String
Dim jsonString = "[{ ""classDesc"":""SIDEWALK,DRIVEWAY,CURB"", ""classCode"":""EH"", ""legend"":""017"", ""isActive"":""Y"", ""atrSpaCityDistrictId"":""00D17209F8F25F6D4A00011302"", ""atrSpaCitieDistrict"":{ ""cityDistrict"":"""", ""isActive"":""1"", ""atrSpaClassLegends"":null, ""id"":""00D17209F8F25F6D4A00011302"" }, ""id"":""00D1748B8DA0AB0A7400011202"" }]"
Dim jsonStringSimple = "[{ ""classDesc"":""SIDEWALK,DRIVEWAY,CURB"", ""classCode"":""EH"", ""legend"":""017"", ""isActive"":""Y"", ""atrSpaCityDistrictId"":""00D17209F8F25F6D4A00011302"", ""id"":""00D1748B8DA0AB0A7400011202"" }]"
Test(Of List(Of RootObject))(jsonString)
Test(Of DataTable)(jsonStringSimple)
Dim root = JsonConvert.DeserializeObject(Of List(Of RootObject))(jsonString)
Public Sub Test(Of T)(jsonString as String)
Console.WriteLine("Original JSON")
Console.WriteLine(JToken.Parse(jsonString).ToString())
Console.WriteLine("Trying to deserialize as type " + GetType(T).ToString())
Dim root = JsonConvert.DeserializeObject(Of T)(jsonString)
Dim newJson = JsonConvert.SerializeObject(root, Newtonsoft.Json.Formatting.Indented)
Console.WriteLine("Re-serialized JSON")
Console.WriteLine(newJson)
Console.WriteLine("Exception encountered: ")