反序列化包含 int 列表作为属性的对象



我正在尝试使用Newtonsoft.Json.JsonConvert将Json反序列化为我的对象。我的 json 是:{"SelectedContentsID[]":"31807,32493,39517","pageSize":"20","SisconContentSubDialogEnum":"0","searchCriteria":"","pageIndex":"1"}

相应的类是:

[DataContract]
public class ContentGetHandlerDTO : ListBaseHandlerDto
{
    [DataMember(Name = "SelectedCourseId")]
    public int SelectedCourseId { get; set; }
    [DataMember]
    public System.Collections.Generic.List<int> SelectedContentsID { get; set; }
    public ContentGetHandlerDTO() {
        this.SelectedContentsID = new System.Collections.Generic.List<int>();
    }
}

ListBaseHandlerDto 只是一个包含一些公共属性的类。问题是,反序列化程序方法只是忽略了 int 列表并带来了一个空列表。

您的 JSON 看起来不正确,它应该如下所示:

{
"SelectedContentsID":[31807,32493,39517],
"pageSize":"20",
"SisconContentSubDialogEnum":"0",
"searchCriteria":"",
"pageIndex":"1"
}

具体查看您的所选内容 ID,你有:

"SelectedContentsID[]":"31807,32493,39517"

当 JSON int 数组应如下所示时:

"SelectedContentsID":[31807,32493,39517]

如果你感到困惑,这里有一个很好的参考 - http://www.w3schools.com/json/json_syntax.asp

相关内容

  • 没有找到相关文章

最新更新