如何从Controller返回空的Json?

时间:2018-08-29 12:07:54

标签: c# json collections controller

开发者!

我在stackoverflow上发现了类似的问题,但解决方案对我没有帮助。所以我要再次发布。

我正在尝试从Controller返回Json类型的集合。但是我想返回null之类的Empty集合,而不是Enumerable.Empty<>()。我也在其他网站上搜索,但没有任何帮助。

我尝试了new EmptyResult()(来自stackoverflow的解决方案,但是没有用)

这是代码。

public JsonResult GetOrderDetail(int? id)
{
if(id.HasValue)
{
    var first = ObjectFactory.GetInstance<ICustomerRepository>().Method();
    var second = ObjectFactory.GetInstance<IShopRepository>().Method();
    return Json(new
    {
        first,
        second
    }
}
return null;
}

因此,这里我要返回一个Empty Collection,而不是null。可能吗?我该怎么做? 我是C#的新手。首先,我想问这个问题是愚蠢还是错误。

2 个答案:

答案 0 :(得分:0)

Json.NET

使用Json.NET时,您可以使用并清空JObjectJArray

这是在C#中使用JSON的最常见和推荐的方法。可以通过NuGet将其添加到项目中。

答案 1 :(得分:-1)

我找到了解决方案。我只需要这样做。我写了null来代替Json(new EmptyResult())。因此,该方法最终将不返回任何内容,但不会返回空值。