У меня есть модель :
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public List<Color> Colors { get; set; }
}
public class Color
{
public int ColorId { get; set; }
public string Name { get; set; }
}
и asp.net MVC return Json(...)
дает мне это:
[{"Name":"JC","Age":24,"Colors":[{"ColorId":1,"Name":"Red"},{"ColorId":2,"Name":"Blue"}]},
{"Name":"Albert","Age":29,"Colors":[{"ColorId":2,"Name":"Blue"}]}]
когда я пытаюсь вернуть тип: List<Person>
но я хочу что-то вроде этого (если возможно):
{"People":[{"Name":"JC","Age":24,"Colors":[{"ColorId":1,"Name":"Red"},{"ColorId":2,"Name":"Blue"}]},{"Name":"Albert","Age":83,"Colors":[{"ColorId":2,"Name":"Blue"}]}]}
МОЙ ВОПРОС (ы):
Как я могу заставить C # (asp.net mvc) возвращать JSON с лучшим форматом, например: (примечание: игнорировать данные, моя главная мысль - возвращать их с «People» как основная коллекция .. как это сделать? JSON.net?)
{ "Люди": [{ "Имя": "JC", "Возраст": 24, "Цвета": [{ "ColorId": 1, "Имя": "Красный"}, { "ColorId": 2, "Имя": "Голубой"}]},
{ "Имя": "Альберт", "Возраст": 83, "Цвета": [{ "ColorId": 2, "Имя": "Синий"}]}]}
ИЛИ как мне заставить KNOCKOUT.JS MAPPING PLUGIN работать с этим типом формата JSON? (для тех кто знает нокаут)
[{ "Имя": "JC", "Возраст": 24, "Цвета": [{ "ColorId": 1, "Имя": "Красный"}, { "ColorId": 2, "Имя" : "Синий"}]},
{ "Имя": "Альберт", "Возраст": 29, "Цвета": [{ "ColorId": 2, "Имя": "Синий"}]}]
ОБНОВЛЕНИЕ (дополнительное уточнение / информация):
это мои данные, и я хочу вернуть список
private List<Person> _people = new List<Person>
{
new Person
{
Name = "JC",
Age = 24,
Colors = new List<Color>
{
Red,
Blue,
}
},
new Person
{
Name = "Albert",
Age = 29,
Colors = new List<Color>
{
Blue
}
}
};
в формате JSON, подобном следующему:
{"People":[{"Name":"JC","Age":24,"Colors":[{"ColorId":1,"Name":"Red"},{"ColorId":2,"Name":"Blue"}]},
{"Name":"Albert","Age":83,"Colors":[{"ColorId":2,"Name":"Blue"}]}]}
Мне просто интересно, если это возможно, или, если нет, , то как я могу заставить подключаемый модуль knockout.js адаптироваться к способу возврата json в MVC?