Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将数组转换为json对象?_Javascript_Json - Fatal编程技术网

Javascript 将数组转换为json对象?

Javascript 将数组转换为json对象?,javascript,json,Javascript,Json,我在将数组转换为Json对象时遇到问题。我有一个包含json对象的数组,当我将该数组转换为json对象时,它合并/连接数组数据比生成json数组更快。 假设数组有两个json对象。当我使用 var jsondata = JSON.stringify(array); var jsn = JSON.parse(jsondata); 这是我的密码: var array = new Array(); function addBatch(){ var data = $.toJSON($('#risk'

我在将数组转换为Json对象时遇到问题。我有一个包含json对象的数组,当我将该数组转换为json对象时,它合并/连接数组数据比生成json数组更快。 假设数组有两个json对象。当我使用

var jsondata = JSON.stringify(array);
var jsn = JSON.parse(jsondata);
这是我的密码:

var array = new Array();

function addBatch(){
var data = $.toJSON($('#risk').serializeArray());
    //data = [{"name":"user","value":"INCRE"},{"name":"period","value":"100"},{"name":"hori","value":"12"},{"name":"conf","value":"32"}] 


    var jsonData = JSON.stringify(data);
    var json=JSON.parse(jsonData);
    console.log('After Converting Json');

    //store data in array 
    array.push(json);
}

// function that convert array into json:
function saveBatch(){
                var jsonData = JSON.stringify(array);
        json = JSON.parse(jsonData);
        console.log("Batch: "+json);

}
它给我以下输出:

[{"name":"user","value":"HIST"},{"name":"period","value":"12"},{"name":"hori","value":"32"},{"name":"conf","value":"12"}],[{"name":"user1","value":"INCRE"},{"name":"period","value":"12"},{"name":"hori","value":"32"},{"name":"conf","value":"12"}]
应该是这样的:

[
  [
      {"name":"obj1"},{"value":"data"}
  ],
  [
      {"name":"obj2"},{"value":"data2"}
  ]
]

我不知道为什么会这样。我也在谷歌上搜索,但除了搜索,我没有找到任何方法

var jsondata = JSON.stringify(array);
    var jsn = JSON.parse(jsondata);

你所拥有的没有多大意义。您确定不需要对象数组吗

var array = new Array();

function addBatch() {
  // Gets data. Returns an array of objects in format [{name: "", value: ""}, ...]
  var data = $.toJSON($('#risk').serializeArray());

  // Extend the `array` with new objects.
  array.concat(data);
}

// function that convert array into json:
function saveBatch() {
    // Convert the array of objects to JSON string.
    var jsonData = JSON.stringify(array);
    console.log(jsonData);
}

“json对象”没有任何意义。对于
json.stringify
,应该不可能给出您所说的输出。请提供一个完整的测试用例(包括原始数据)。您可以向我们展示您的输入JSON和您如何进行输出(这是意外的)吗?似乎有效。
{“value”,“data2”}
无效。它应该是
{“value”:“data2”}
。这只是问题中的一个输入错误吗?你要把它输出给什么?您是否正在输出
jsondata
?您的输出不是有效的JSON或JavaScript。您需要向我们展示什么是
array