本文介绍了JSON.NET错误读取JObject的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我送通过AJAX JSON对象和Web API来我的服务器:
I am sending a JSON object via AJAX and Web Api to my Server:
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值:
so i am getting on server the value which i want to parse with 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.
为什么呢?该值似乎是我的权利?
Why? The value seems to be right to me?
推荐答案
json.stringify将创建下列JSON字符串:
json.stringify will create the following json string:
[
["fdsfsd", "Kifdsfa", "fsdfsa", "fadsf", "fasdfsd", "fadsf", "fasdfsd"],
["2008", "-5", "11", "12", "13"],
["2009", "20", "-11", "14", "13"],
["2010", "30", "15", "-12", "readOnly"]
]
这是一个jsonArray,而不是一个JSONObject的。因此,在服务器端,你将不得不使用它来读取 JArray A = JArray.Parse(@value);
这篇关于JSON.NET错误读取JObject的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!