以下是用于ajax结果的匿名对象的示例:
public ActionResult SomeActionMethod() {
return Json(new {foo="bar", baz="Blech"});
}
这很简单,但有这样的东西:
public ActionResult SomeActionMethod() {
var result = new ????
result["foo"] = "bar";
// Do some other stuff
...
result["john"] = "doe";
// Do some other stuff
...
return Json(result);
}
我希望避免为结果创建自定义类,我更喜欢上面显示的内容。
答案 0 :(得分:6)
匿名类型没有任何问题,但如果您不喜欢这些类型,则有几种选择。
Dictionary<string, object>
的行为与您的示例相似,并且他们非常愉快地序列化。或者,您可以以dynamic
对象的形式看到ViewBag
。还有ExpandoObject,介于两者之间,在使用dynamic
的情况下表现得像Dictionary
。