从单个控制器调用中获取多个json对象

时间:2016-01-26 16:17:16

标签: json asp.net-mvc

如何从单个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?
    }

2 个答案:

答案 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();