我正在学习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对象返回。以下是VS调试期间x
的样子。
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?请指导我。
答案 0 :(得分:1)
无论你进入列表中的内容,都可以将其作为Json返回。 您的代码应该是这样的:
public ActionResult GetNewChatPosts()
{
List integerList = new List<int>();
return Json(list);
}
答案 1 :(得分:0)
您的操作是返回一个数组,这是正确的JSON对象。基本上,任何数组都是JSON对象,如果它包含适当的值 - 字符串,数字,对象,数组,布尔值或null。 快速阅读: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]}