将动态Json对象解析为VB类

将动态Json对象解析为VB类,json,vb.net,parsing,Json,Vb.net,Parsing,我有这个嵌套结构 Public Class Results_FullData Public Property results As List(Of DSContent) End Class Public Class DSContent Public Property userRunId As Long Public Property metaColumnValues As List(Of String) Public Property dataColumnVal

我有这个嵌套结构

Public Class Results_FullData
    Public Property results As List(Of DSContent)
End Class

Public Class DSContent
    Public Property userRunId As Long
    Public Property metaColumnValues As List(Of String)
    Public Property dataColumnValues As List(Of String)
End Class

并希望将其解析为类。 我有以下代码来获取json文件并对其进行反序列化

 Public Function getData(ByVal _token As String, ByVal _identifier As String) As Results_FullData
    Dim client = New RestClient(_baseURI)
    Dim request = New RestRequest("/datasource/{id}/data", Method.GET)
    request.AddParameter("id", _identifier)
    request.AddUrlSegment("id", _identifier)
    request.AddHeader("Authorization", "Bearer " + _token)
    request.AddHeader("environment", _environment)
    Dim jstr = client.Execute(request).Content
    Dim allData As Results_FullData = JsonConvert.DeserializeObject(Of Results_FullData)(jstr)

    Return allDATA

End Function
建立这个班级结构

Public Class Results_FullData
    Public Property results As List(Of DSContent)
End Class

Public Class DSContent
    Public Property userRunId As Long
    Public Property metaColumnValues As List(Of String)
    Public Property dataColumnValues As List(Of String)
End Class
但是运行代码时,对象datasourceInfo是空的,我不知道为什么。我以为我可以采用的解决方案,但它不起作用。我猜
列表(字符串)
部分是错的。问题在于每个对象中的元列值和数据列值的长度不同。这样做的目的是将其放入一个字符串中,稍后将其分离,因为值在对象中是分开的

有人能帮我吗

编辑: 数据示例:

{"result":[{"userRunId":"xxxxxxx","metaColumnValues":["9006409","20073"],"dataColumnValues":["","superior"]},{"userRunId":"xxxxxxx","metaColumnValues":["2345","235","1"],"dataColumnValues":["","superior", "test"]}]}

Results\u FullData
中,该属性称为
Results
,但在示例JSON中,该属性称为
result
。另外,
DSContent.userRunId
被声明为
Long
,即使在JSON中,该属性包含
String
值。如果您在数据类中修复了这两个问题,它将正确地反序列化示例数据:

Public Sub Main()
    Dim json As String = "{""result"":[{""userRunId"":""xxxxxxx"",""metaColumnValues"":[""9006409"",""20073""],""dataColumnValues"":["""",""superior""]},{""userRunId"":""xxxxxxx"",""metaColumnValues"":[""2345"",""235"",""1""],""dataColumnValues"":["""",""superior"", ""test""]}]}"
    Dim allData As Results_FullData = JsonConvert.DeserializeObject(Of Results_FullData)(json)
End Sub

Public Class Results_FullData
    Public Property result As List(Of DSContent)
End Class

Public Class DSContent
    Public Property userRunId As String
    Public Property metaColumnValues As List(Of String)
    Public Property dataColumnValues As List(Of String)
End Class

你能不能提供最短的数据,这些数据不能正确地反序列化,并且作为JSON文本,而不是已经在某个工具中解析过的图像?我编辑了我的问题,现在提供了一些示例数据。太好了!谢谢!