之前写过一篇VB.NET用JavaScriptSerializer序列化和反序列化json的文章:Vb.net序列化和反序列化json之JavaScriptSerializer对象 。但是有时候会遇到动态或未知json,下面就介绍下反序列化未知json的方式。
'先在工程-属性-引用里添加对System.Web.Extensions.dll这个扩展的引用
'导入命名空间
Imports System.Web.Script.Serialization
JavaScriptSerializer反序列化未知json实例代码
'定义一个JSON字符串
Dim jsonString As String = "{""name"":""John"",""age"":30,""city"":""New York"",""isMarried"":true}"
'创建JavaScriptSerializer对象
Dim serializer As New JavaScriptSerializer()
'将JSON字符串反序列化为动态类型
Dim result As Object = serializer.Deserialize(Of Object)(jsonString)
'输出动态类型的属性值
Console.WriteLine(result("name"))
Console.WriteLine(resul("age"))
Console.WriteLine(result("city"))
Console.WriteLine(result("isMarried"))
以上JavaScriptSerializer反序列化未知json实例代码本质上是被反序列化为了一个Dictionary对象如下
Dictionary<string, object>