相关疑难解决方法(0)

使用JSON.stringify向我的Json对象添加一个额外的\和""

嗨我正在使用Javascript创建一个带有键和一个值的对象数组,使用以下代码.

ValuesArray.push({ key: $(this).attr('someattribute'), value: $(this).val() });
Run Code Online (Sandbox Code Playgroud)

结果我有这样的对象数组:

key:29; value: 'Country'
Key:12; value: '4,3,5'
Run Code Online (Sandbox Code Playgroud)

当我试图对它进行字符串化并在帖子中发送JSON时,我有一个错误的格式化JSON与\和"在我不想要的地方,所以当我尝试在C#的代码隐藏中使用JSON作为JObject时,我遇到了麻烦如何使用stringify创建干净的JSON

var jObject = JSON.stringify(ValuesArray);
Run Code Online (Sandbox Code Playgroud)

我的JSON现在哪个错了是:

{
  "JObject": "[{\"key\":\"29\",\"value\":\"Country\"},  {\"key\":\"30\",\"value\":\"4,3,5\"}]"
}
Run Code Online (Sandbox Code Playgroud)

我想有一个像这样的JSON对象

{
  "JObject": [{"key":"29","value":"Country"},{"key":"30","value":"4,3,5"}]
}
Run Code Online (Sandbox Code Playgroud)

没有围绕[]和字符的引号\

任何好主意来解决它.

谢谢

更详细的说明我如何将JSON发送到我的API,这就是我将JSON发送到我的Web API的方式:

function PostAPIRequest(address) {

           var jObject = JSON.stringify(ValuesArray);

           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) …
Run Code Online (Sandbox Code Playgroud)

javascript arrays serialization json deserialization

26
推荐指数
3
解决办法
6万
查看次数