JSON.NET错误读取JObject [英] JSON.NET Error reading JObject

查看:5300
本文介绍了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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆