我有一个JSON
字符串,我试图将其反序列化为 .Net 对象。
该代码有效,直到它遇到一个嵌套数组。然后它只返回空值。
在下面的示例中,当我调试和查看处理后的对象时,它将只有:
规则:
0: Will contain all data for the first node (project_number)
1: Will contain all data for the second node (agreement_number)
2: All fields will be Nothing
Condition: AND
Valid: true
如何反序列化整个对象?请注意,JSON
字符串来自库 ( https://querybuilder.js.org/
),所以我很犹豫要弄清楚字符串是如何创建的。
这是我的代码:
Dim TestObj = JsonConvert.DeserializeObject(Of List(Of JsonObject))(TestString)
<Serializable()>
Public Class JsonObject
Public Property condition As String
Public Property Rules As List(Of Rules)
Public Property valid As Boolean
End Class
<Serializable()>
Public Class Rules
Public Property id As String
Public Property field As String
Public Property type As String
Public Property input As String
Public Property [operator] As String
Public Property value As String
End Class
Public Property TestString As String = "[
{
'condition':'AND',
'rules':[
{
'id':'project_number',
'field':'project_number',
'type':'string',
'input':'text',
'operator':'equal',
'value':'dfgdfs'
},
{
'id':'agreement_number',
'field':'agreement_number',
'type':'string',
'input':'text',
'operator':'contains',
'value':'asdfas'
},
{
'condition':'AND',
'rules':[
{
'id':'division',
'field':'division',
'type':'string',
'input':'select',
'operator':'in',
'value':[
'0',
'11719'
]
},
{
'condition':'AND',
'rules':[
{
'id':'ta',
'field':'ta',
'type':'string',
'input':'select',
'operator':'in',
'value':[
'24740',
'24744'
]
}
]
}
]
}
],
'valid':true
}]"