繁体   English   中英

如何在ASP.net MVC 5中将整数列表作为JSON对象返回

[英]How to return list of integer as JSON objects in ASP.net MVC 5

我正在学习ASP.Net MVC5。 而且我有一种情况需要返回JSON结果。 目前,我有整数列表。 但我想将其作为json对象返回。 以下是我所拥有的

    [HttpGet]
    public ActionResult hello()
    {
        var x = SMS_DAL._DalColl.lstOfID;
        return Json(x, JsonRequestBehavior.AllowGet);
    }

观察:变量x包含list of integer 我想将其作为JSON对象返回。 以下是x在VS调试期间的外观。

X    Count = 3
  [0]   -1
  [1]    2134....
  [2]    28463

我研究了JSON,它包含如下所示的键值对:

{
    "id": 1,
    "name": "A green door",
    "price": 12.50,
}

因此,我运行了控制器操作,并检查了Advanced Rest Client中的值。

在此处输入图片说明

我们可以清楚地看到我得到的价值如下

[Array[3]

0: -1

1: 2134...

2: 2843

]

哪里是“双引号”,哪里是代表键和值的“花括号”。 我为什么看不到他们。 我得到的结果是它们实际上是JSON吗? 请指导我。

不管列表中包含什么内容,都可以将其作为Json返回。 您的代码应该看起来像这样:

public ActionResult GetNewChatPosts()
{   
    List integerList = new List<int>();
    return Json(list);
}

您的操作正在返回一个数组,该数组是正确的JSON对象。 基本上,任何数组如果具有适当的值(字符串,数字,对象,数组,布尔值或null),则都是JSON对象。
快速阅读: https : //www.w3schools.com/js/js_json_arrays.asp

如果您想要数组的键,请以JSON格式返回一个对象:

public class TestAPIController : Controller
{
    [HttpGet]
    public ActionResult Data()
    {
        return Json(new ArrayResult { Arr = new int[] { 1, 2, 3 } });
    }
}

public class ArrayResult
{
    public int[] Arr { get; set; }
}

这将返回:

{arr: [1,2,3]}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM