如何使用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对象反序列化。