在Web API上解析JSON JObject,该API保存在Newtonsoft.Json.Linq对象上

时间:2012-12-14 21:14:07

标签: json api

您好我在发送一个JObject到我的Web API的帖子中使用Jquery但是我在使用Newtonsoft.Json库来解析它时遇到了问题。我想知道我有类似Jaosn数组的东西,但是当我尝试从JObject转换为JArray时我不能得到它

我在WEB API中获取数据,但我无法使用在线示例进行解析。

这是在这篇文章的最后。我需要一些帮助解析该对象。有什么想法吗?

我的控制器看起来像这样:

// POST api/returnvalues/5

public string Post(int id, JObject value)
{
  var temp = value;

  ....

}

and my Jquery to send the information is like this.

function PostAPIRequest(address) {

var jObject = JSON.stringify(FilterValuesArray);

var responseJson = null;
$.ajax({
url: address,
type: 'POST',
dataType: 'json',
data: { JObject: jObject },
success: function (data) {
responseJson = data
ProcessDataResponse(responseJson);
//TODO: REFRESH THE DATA GRID
},
error: function (xhr, ajaxOptions, thrownError) {
//TODO redirect to the error page and send error email there.
alert(xhr.status);
alert(thrownError);
}
})
}

JSON

{
"JObject": "[{\"key\":\"20\",\"value\":\"us\"},{\"key\":\"30\",\"value\":\"mini\"},{\"key\":\"31\",\"value\":\"audi\"},{\"key\":\"21\",\"value\":\"4,5,13,14,15,\"},{\"key\":\"29\",\"value\":\"8,\"},{\"key\":\"32\",\"value\":\"7,\"}]"
}

1 个答案:

答案 0 :(得分:0)

您好我找到了解决此问题的方法,我想与您分享。

问题是我是如何使用错误的JSON格式构建JSON的。结果,使用JObject和Jtoken的解析不起作用。但是使用格式良好的JSON,解析可以使用标准示例uisng JObject和JToken

这篇文章详细介绍了如何创建正在发送Web API的正确JSON JSON.stringify的问题为我的Json对象添加了一个额外的\和“” Issue with JSON.stringify adding a extra \ and "" to my Json object

格式良好的Json将是这样的:

    {
    "JObject": [{"key":"20","value":"us"},{"key":"30","value":"mini"},{"key":"31","value":"audi"},{"key":"21","value":"4,5,13,14,15,"},{"key":"29","value":"8,"},{"key":"32","value":"7,"}]
    }

Issue with JSON.stringify adding a extra \ and "" to my Json object