【发布时间】:2026-01-29 17:05:01
【问题描述】:
我通过 AJAX 和 Web Api 将 JSON 对象发送到我的服务器:
var data = [
["fdsfsd", "Kifdsfa", "fsdfsa", "fadsf", "fasdfsd", "fadsf", "fasdfsd"],
["2008", "-5", "11", "12", "13"],
["2009", "20", "-11", "14", "13"],
["2010", "30", "15", "-12", "readOnly"]
];
$.ajax({
url: '../webapi/Products',
type: 'POST',
dataType: "text",
data: "="+JSON.stringify( data ),
success: function (test) {
alert(test);
},
error: function (test) {
alert("Error");
}
所以我正在服务器上获取我想用 JSON.NET 解析的值:
public void Post([FromBody]string value )
{
JObject o = JObject.Parse(@value);
}
这会引发异常:
Error reading JObject from JsonReader. Current JsonReader item is not an object:
StartArray. Path '', line 1, position 1.
为什么?这个值对我来说似乎是正确的?
【问题讨论】:
-
您是否在服务器上打印 value 以检查语法是否正确?我猜,你得到的是一个 json 数组而不是一个 json 对象
-
是的,它似乎是数组。所以没有办法将它转换为 JObject 对吗?我如何转换这个数组,例如到数据表?
标签: asp.net ajax json asp.net-web-api json.net