.NET Web API : 将 JSON 对象反序列化为 属性 作为 List(Of object)

.NET Web API : deserialize JSON object with property as List(Of object)

假设我创建了一个像这样的过滤器 class......

Public Class Filter

    Public Enum enuOperator
        [EqualTo] = 0
        [Like] = 1
        [In] = 2
        [StartsWith] = 3
        [EndsWith] = 4
        [NotNull] = 5
        [Null] = 6
    End Enum

    Public Class FilterItem

        Public Property [Field] As String
        Public Property [Operator] As enuOperator
        Public Property [Value] As Object

        Public Sub New(filterField As String, filterOperator As enuOperator, filterValue As Object)
            With Me
                .Field = filterField
                .Operator = filterOperator
                .Value = filterValue
            End With
        End Sub

        Public Sub New(filterField As String, filterValue As Object)
            Me.New(filterField, enuOperator.EqualTo, filterValue)
        End Sub

    End Class

    Public Property Filters As List(Of FilterItem)

    Public Sub New()
    End Sub

    Public Sub New(filterItems As List(Of FilterItem))
        Me.Filters = filterItems
    End Sub

End Class

如你所见,这个class"Filter"包含一个属性"Filters",它基本上是一个[=27=的数组(实际上是一个List) ] 个对象。

现在,我可以使用 JSON 将此 "Filter" class 的实例发送到我的 ASP.NET Web API,从而得到以下表示法:

{"Filters":[{"Field":"PrTy_Id","Operator":0,"Value":3}]}

然而,在接收端(在 Web API 本身),尽管它读出的内容完全相同(作为 JSON 格式的字符串),并且它正确地转换为 "Filter" 对象,但 属性 "Filters" 作为 "FilterItem" 个对象的空列表!

显然我的问题是,如何读出 "Filters" 属性,并将其正确转换为现有的对象列表?

我自己弄清楚了,当手动将我的 JSON 字符串反序列化为对象时:

显然,我只是在 "FilterItem" class.