在不创建 class 的情况下通过 JSON 将 List 从 MVC 控制器传递到 View 是否可行?

Is it feasible to pass List from MVC controller to View though JSON without creating class?

我正在使用 Angular JS 创建从 MVC 控制器到视图的 JSON。 我以前是这样通过的 型号

public class obj
{
    public string somestring {get;set;}
}

MVC 控制器

List<obj> lstObj=new List<obj>();
obj o = new obj();
o.somestring="somestring";
lstObj.Add(o);
IDictionary<string,object> dic=new Dictionary<string,object>();
dic.Add("data",lstObj);
return Json(dic);

在视图中我得到 Json 作为

{["somestring":"somestring"]}

但是当我用 ExpandoObject 尝试相同的代码时 来自 this answer to Dynamically Add C# Properties at Runtime

List<dynamic> lstObj = new List<dynamic>();
var dynO = DataHelper.GetDynamicObject(new Dictionary<string, object>()
                    {
                        {"somestring","somestring"}
                    });
lstObj.Add(dynO);
IDictionary<string,object> dic=new Dictionary<string,object>();
dic.Add("data",lstObj);
return Json(dic);

它returns

{[]}

使用ExpandoObject获取Json是否可行? 提前致谢

感谢朋友们抽出宝贵时间 我通过使用 new {}

创建一个对象来克服它
List<dynamic> lstObj = new List<dynamic>();
var dynO =new
                    {somestring="somestring"}
                ;
lstObj.Add(dynO);
IDictionary<string,object> dic=new Dictionary<string,object>();
dic.Add("data",lstObj);
return Json(dic);

输出是

{["somestring":"somestring"]}