如何从单个MVC控制器获取多个json对象?在下面的例子中,如果我只想返回鱼类(池塘),我会这样做:
return Json(pond, JsonRequestBehavior.AllowGet)
但是如何在单个json中返回鱼和树?
public ActionResult PondAndForestData()
{
List<Fish> pond = context.getAllFishes();
List<Tree> forest = context.getAllTrees();
// return both as one combined Json?
}
答案 0 :(得分:1)
使用2个属性
创建一个新的匿名对象public ActionResult PondAndForestData()
{
List<Fish> pond = context.getAllFishes();
List<Tree> forest = context.getAllTrees();
return Json(new { Ponds= pond, Trees= forest},JsonRequestBehaviour.Allow.GET);
}
在您的客户端,无论您是在调用此操作方法,都应该根据需要访问Ponds
/ Trees
属性。它们中的任何一个都是数组。
答案 1 :(得分:0)
创建一个包含以下成员变量的新类。然后将该类的实例作为JSON传递。
List<Fish> pond = context.getAllFishes();
List<Tree> forest = context.getAllTrees();