我有这个模式:如何更改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