我试图将JSON字符串转换为VB.net对象,以便轻松访问JSON字符串中的数据。将JSON字符串反序列化为VB.net对象
我的JSON字符串看起来是这样的:
{
"status": "ok",
"count": 4,
"data": [
{
"clan_id": 500002846,
"nickname": "Azrael",
"id": 500429872
},
{
"clan_id": null,
"nickname": "Azrael0",
"id": 500913252
},
{
"clan_id": 500028112,
"nickname": "Azrael0313",
"id": 504109422
},
{
"clan_id": null,
"nickname": "Azrael7",
"id": 501594186
}
]
}
现在,我想这个字符串反序列化到VB.net对象
我的类定义是:
Public Class Rootobject
Private _data1 As String
Public Property status As String
Public Property count As Integer
Public Property data() As Datum
End Class
Public Class Datum
Public Property clan_id As Integer?
Public Property nickname As String
Public Property id As Integer
End Class
这Visual Studio 2012自动为我的JSON字符串创建。
我试图以.json解串器反序列化:
Dim Testobject As Rootobject _
= Global.Newtonsoft.Json.JsonConvert.DeserializeObject(Of Rootobject)(JSON_String)
与JavaScriptSerializer:
Dim serializer As New System.Web.Script.Serialization.JavaScriptSerializer()
Dim Testobject_2 As Rootobject = serializer.Deserialize(Of Rootobject)(JSON_String)
但在这两种情况下,我只能够获得进入“状态”和“计数”但不是“数据”数组。
我是新来的Visual Basic,所以我读了很多关于JSON和解串器和其他人有这样那样的问题,但大多数解决方案是C#,而不是为了VB.net
任何想法我可能做错了?
试过'公共属性Data()作为IList的(中Datum)' 然后它说: 无法反序列化当前的JSON对象(例如{“name”:“value”})到类型'System.Collec tions.Generic.IList'1 [WoT_Tool.WoT_Tool + Datum]',因为该类型需要JSON数组(例如, [1,2,3])来正确地反序列化。 要解决此错误,请将JSON更改为JSON数组(例如[1,2,3]) – Azrael