0

配列を Json オブジェクトに変換中に問題が発生しました。私はjsonオブジェクト/オブジェクトを含む配列を持っています。その配列をJsonオブジェクトに変換すると、json配列を作成するよりも配列データを結合/連結します。配列に 2 つの 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"}
  ]

]

なぜこれが起こっているのかわかりません。私もGoogleで検索しましたが、他に方法が見つかりませんでした

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

1 に答える 1

0

あなたが持っているものはあまり意味がありません。オブジェクトの配列が不要ですか?

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);
}
于 2012-11-06T12:01:30.397 に答える