使用 JSON 结果返回多个对象

Posted

技术标签:

【中文标题】使用 JSON 结果返回多个对象【英文标题】:Returning multiple objects with a JSON result 【发布时间】:2012-04-18 15:05:32 【问题描述】:

我想知道是否可以在 MVC 中返回多个带有 JSON 结果的对象。 目前我返回单个对象没有问题。

public ActionResult AddToBasket(int quantity, int productdetailid) 

    // more code here
    return Json ( new  Name = p.Product.Name, Price = p.Price);

这会在我的 ajax 调用中返回一个匿名对象。我想做的是返回多个名称和价格来填充我视图中的表格。

所以基本上我想在用户每次将商品添加到他的购物篮时更新(更新)cookie并更新作为html表格的购物篮。

提前致谢。

【问题讨论】:

您是否尝试过使用object[] new ..., new ... 返回一个包含对象数组的 JSON 对象。但是,我无法为您提供特定的服务器端代码。 这是什么编程语言? 【参考方案1】:

只返回一个对象数组,例如:

[  Name: 'foo', Price: 123 
,  Name: 'bar', Price: 456 
,  Name: 'baz', Price: 789  ]

【讨论】:

这是正确的 javascript 语法,但在 C# 中,他在服务器端询问他是如何做到的,这与您的答案不同。 没错,而且数据是动态的,所以我不知道我需要传递多少对象。【参考方案2】:

如果你想要一个数组,只需返回一些可枚举的:

return Json ( Enumerable.Range(0, 10).Select(i => new  Name = "N" + i, Price = i );

【讨论】:

但是如果数组是动态的呢? 好的,没关系。我现在明白了,谢谢你的好回答。

以上是关于使用 JSON 结果返回多个对象的主要内容,如果未能解决你的问题,请参考以下文章

为啥 JSON 查询如果有一个元素则返回对象,如果有多个则返回列表?

如何使用一个ajax请求从java servlet返回多个json对象

如何在 Scala 中使用 Spark SQL 返回多个 JSON 对象

asp.net mvc,以 JSON 形式返回多个视图

使用一个对象打开多个线程并返回结果

Python中使用return返回多个结果