/ / десеріалізувати об’єкт, що містить список int як властивості - json, serialization, json.net

десеріалізувати об'єкт, який містить список int як властивість - json, serialization, json.net

Я намагаюся десериалізувати Json у свій об’єкт за допомогою Newtonsoft.Json.JsonConvert. Мій 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 - просто клас, який містить деякі властивості commons. Проблема полягає в тому, що метод десеріалізатора просто ігнорує список int та вносить нульовий список.

Відповіді:

0 для відповіді № 1

Ваш Json виглядає неправильно, він повинен виглядати так:

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

спеціально подивіться на ваш SelectedContentsID, ти мав:

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

коли масив json int повинен виглядати так:

"SelectedContentsID":[31807,32493,39517]

ось досить непогана довідка, якщо ви коли-небудь заплутаєтесь - http://www.w3schools.com/json/json_syntax.asp