如何使用Json.net反序列化Vb.net中的JSON对象?
问题描述:
如何使用Json.net反序列化Vb.net中的JSON对象?我从文档中看到如何使用JsonConvert.SerializeObject()
进行简单转换,如字符串和一个数组。但我不知道如何反序列化这样的东西。我也检查了JSON.net的文档,但所有的例子都在C#而不是vb.net。如何使用Json.net反序列化Vb.net中的JSON对象?
"Sizes": [
"Small",
"Medium",
"Large"
]
答
我想你的意思反序列化,这意味着采取JSON字符串,并将其转换成一个对象实例。
首先,您需要一个vb.net类来“接收”JSON属性值,例如上面的“大小”。然后,您将此类传递给JavaScriptSerializer的一个实例,并调用方法DeserializeObject。
在你上面的例子中,你有一个JSON字符串数组作为“Sizes”的值。你可以反序列化值到一个词典(串,对象)是这样的:
Dim sizesStr = "{""Sizes"": [""Small"",""Medium"",""Large""]}"
Dim jsSerializer As New JavaScriptSerializer
Dim deSerialized = jsSerializer.DeserializeObject(sizesStr)
Dim sizes As Dictionary(Of String, Object) = CType(deSerialized, Dictionary(Of String, Object))
答
你可以使用这个模板转换为大多数类型的对象
Dim obj as Object = Json.JsonConvert.DeserializeObject(of Object)(json)
我一直建立了一个类当json变大时,将json对象反序列化。