我有這個模式:如何更改asp.net mvc格式化JSON的方式?
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"}]}]}
我的問題(S):
我怎樣才能讓C#(asp.net的MVC)的返回JSON與像一個更好的格式(注:忽略的數據,我要點是以「人物」爲主要收藏品迴歸。我該怎麼做? JSON.net)
{ 「人物」:[{ 「名稱」: 「JC」, 「年齡」:24, 「顏色」:[{ 「ColorId」:1, 「名稱」: 「紅」 },{「ColorId」:2,「Name」:「Blue」}]}, {「Name」:「Albert」,「Age」:83,「Colors」:[{「ColorId」:2, 「:」 藍「}]}]}
OR我怎樣才能使KNOCKOUT.JS MAPPING PLUGIN這種類型的JSON格式的工作? (對於那些知道淘汰賽的人)
[{「Name」:「JC」,「Age」:24,「Colors」:[{「ColorId」:1,「Name」:「Red」}, 「ColorId」:2,「Name」:「Blue」}]}, {「Name」:「Albert」,「Age」:29,「Colors」:[{「ColorId」:2,藍「}]}]
UPDATE(額外澄清/信息):
這是我的數據,我想返回一個列表
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映射插件適應以MVC的方式返回json?
哇。我花了幾個小時試圖解決這個問題..通過一個聰明人的一小段代碼解決。非常感謝。記住,如果你能告訴我更多關於你在那裏做了什麼的信息/解釋?也許是一些資源,關鍵字的鏈接,或者你可以告訴我?我相當新的C#和JSON .. – 2011-12-30 13:32:29
http://www.asp.net/mvc/tutorials是不錯的。那裏有一些JSON和其他奇特的東西。 – 2011-12-30 14:10:31
@JanCarloViray:做了一個小小的更新 – jgauffin 2011-12-30 15:16:25