在ASP.Net中解析JSON对象数组

我正在尝试学习ASP.Net MVC,我想将JSON对象数组发布到服务器并将其发送回客户端。 当我使用Postman时 ,一切都很好,但它在实际的网页上不起作用。 我认为问题是发布数组的jQuery代码或无法解析数组的ASP.Net代码。

在此处输入图像描述

这是我的控制器代码:

[System.Web.Mvc.HttpPost] public ActionResult GetResult(List list) { return Json(list); }

这是我的对象声明:

 public class Table { public int Id { get; set; } public String Question { get; set; } public int Answer { get; set; } } 

这是发布数据的jQuery代码:

 $.post("./GetResult", JSON.stringify(tableData), function (data, status) { alert(status); }, "json"); 

和tableData是一个JSON数组,如下所示:

 [ { "Id": 500, "Question": "where are you from", "Answer": 2 }, { "Id": 501, "Question": "how old are you", "Answer": 1 }, { "Id": 502, "Question": "what is your first car", "Answer": 2 }, { "Id": 503, "Question": "do you have kids", "Answer": 1 } ] 

此外,我可以看到我的代码通过post控制器,但它是空的或null。 在此处输入图像描述

这是我的csHTML文件的链接。

尝试在您的请求中指定内容类型:

 $.ajax({ url: "./GetResult", type: "POST", data: JSON.stringify(tableData), contentType: "application/json; charset=utf-8", dataType: "json", success: function (data, status) { alert(status); } }) 

您的$.post调用中不需要JSON.stringify 。 让jQuery为您处理。

 $.post("./GetResult", {list:tableData}, function (data, status) { alert(status); } , "json"); 

Json从未传递过对象。

 using Newtonsoft.Json; [HttpPost] Public ActionResult GetResult(string list) { var obj = JsonConvert.DeserializeObject>(strStatus); return Json(list) }

要么

 $.ajax({ url: "./GetResult", type: "POST", data: JSON.stringify(tableData), contentType: "application/json; charset=utf-8", dataType: "json", success: function (data, status) { alert(status); } })