【发布时间】:2015-04-08 20:58:40
【问题描述】:
想象一下我创建了一个这样的过滤器类......
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
如您所见,“Filter”这个类包含一个“Filters”属性,它基本上是一个“FilterItem”对象的数组(实际上是一个List)。
现在,我可以使用 JSON 将这个“过滤器”类的一个实例发送到我的 ASP.NET Web API,从而得到这个符号:
{"Filters":[{"Field":"PrTy_Id","Operator":0,"Value":3}]}
但是,在接收端(在 Web API 本身中),虽然它读出的内容完全相同(作为 JSON 格式的字符串),并且它正确转换为“过滤器”对象,但具有属性“过滤器”作为“FilterItem”对象的空列表!
显然我的问题是,我怎样才能读出“过滤器”属性,并将其正确转换为现有的对象列表?
【问题讨论】:
-
尝试将“Filters”List(of FilterItem) 属性转换为 Array FilterItem() 属性,但没有成功。同样的问题...
标签: json asp.net-web-api