生成Json友好结果的最佳方法(.NET MVC)

时间:2009-01-17 13:09:15

标签: asp.net-mvc json

我现在使用ListItem()作为Json格式的结果,但生成的Json文本有一个名为"selected = false"的额外属性,我知道这用于下拉列表,但我希望我的应用运行更快,所以我不想要这个属性。你知道其他任何方法可以得到类似的结果吗?

这是我的代码:

List<ListItem> list = new List<ListItem>() {
    new ListItem() { Text = "Email", Value = "Pls enter your email" },
    new ListItem() { Text = "NameFull", Value = "Pls enter your full name" },
    new ListItem() { Text = "Sex", Value = "Pls choose your sex" }
};

3 个答案:

答案 0 :(得分:6)

如果您正在使用ASP.NET MVC Beta,则可以使用Json函数和匿名类型将任何对象序列化为JSON。

public JsonResult GetData() {
    var data = new { Text = "Email", Value = "Pls enter your email" }; 
    return Json(data);
}

答案 1 :(得分:2)

根据您的JSON序列化程序,您可能会或可能无法告知序列化程序忽略此属性。

你最好只创建一个只有你需要的字段的类。 e.g。

public class MyListItem
{
    public string Text { get;set; }
    public string Value { get;set; }
}

List<MyListItem> list = new List<MyListItem>() {
    new MyListItem() { Text = "Email", Value = "Pls enter your email" },
    new MyListItem() { Text = "NameFull", Value = "Pls enter your full name" },
    new MyListItem() { Text = "Sex", Value = "Pls choose your sex" }
};

答案 2 :(得分:0)

不要使用ListItem - 使用仅包含所需属性的自定义类型。