C# 复杂匿名对象的ViewModel替换

C# 复杂匿名对象的ViewModel替换,c#,asp.net,asp.net-mvc,asp.net-mvc-3,anonymous-types,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 3,Anonymous Types,所以我正在处理这个复杂的匿名对象 var result = new { percentage = "hide", bullets = (string)null, item = new [] { new { value = 16,

所以我正在处理这个复杂的匿名对象

        var result = new 
            {    
                percentage = "hide",
                bullets = (string)null,
                item = new [] {
                    new {
                        value = 16,
                        text = "Day",
                        prefix = (string)null,
                        label = (string)null
                    },
                    new {
                        value = 41,
                        text = "Week",
                        prefix = (string)null,
                        label = (string)null
                    },
                    new {
                        value = 366,
                        text = "Month",
                        prefix = (string)null,
                        label = (string)null
                    }
                }
            };
我想将其转换为ViewModel,并从RESTAPI以JSON的形式返回

我想知道的是

如何将其表示为包含数组项的模型 创建模型实例后,如何将数组项添加到数组中 模型是否需要构造函数来初始化数组。
您可以提供的任何帮助或示例都将非常有用。

创建一个具有以下结构的类:

public class Result
{
    public Result()
    { 
        // initialize collection
        Items = new List<Item>();
    }

    public string Percentage { get; set; }
    public string Bullets { get; set; }
    public IList<Item> Items  { get; set; }

}

public class Item
{
   public int Value { get; set; }
   public string Text { get; set; }
   public string Prefix { get; set; }
   public string Label { get; set; }
}
上面用结构进行了说明。 添加到集合中,如下所示:

result.Items.Addnew Item{ 值=367, Text=月份, 前缀=stringnull, Label=stringnull };

我将如上所述在构造函数中初始化集合

要从控制器操作返回json,请添加以下内容:

return Json(result, JsonRequestBehavior.AllowGet);

假设您是指公共IList项{get;set;}@StephenMuecke-Doh,是的,对不起。我也在Linq pad上运行过。谢谢
return Json(result, JsonRequestBehavior.AllowGet);