如何使用Json.net在Vb.net中反序列化JSON对象?

时间:2015-09-27 04:27:44

标签: json vb.net

如何使用Json.net在Vb.net中反序列化JSON对象?我从文档中看到如何使用JsonConvert.SerializeObject()进行简单的转换,如字符串和一个数组。但我不知道如何反序列化这样的东西。我还检查了JSON.net的文档,但所有示例都在C#而不是vb.net。

"Sizes": [
   "Small",
  "Medium",
   "Large"
  ]

2 个答案:

答案 0 :(得分:0)

我认为你的意思是反序列化,这意味着获取一个JSON字符串并将其转换为一个对象实例。

首先你需要一个vb.net类来接收"接收" JSON属性值,例如" Sizes"你有上面的。然后将此类传递给JavaScriptSerializer的实例,并调用方法DeserializeObject。

在上面的示例中,您有一个JSON字符串数组,其值为" Sizes"。您可以将值反序列化为Dictionary(Of String,Object),如下所示:

    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))

答案 1 :(得分:0)

您可以使用此模板转换为大多数类型的对象

Dim obj as Object = Json.JsonConvert.DeserializeObject(of Object)(json)

当json变大时,我总是构建一个类来反序列化json对象。