web-dev-qa-db-ja.com

JavaScript関数でJSONデータのセットを渡す方法は?

以下のデータセットがあります:

データ= '{"a":1、 "b":2、 "c":3}、{"a":4、 "b":5、 "c":6}、{"a":7、 "b":8、 "c":9} ';

データセットをパラメーターとして関数を作成しようとしていますが、パラメーターが読み取られません。これが私がしたことです:

function add(data){alert(data); } add(data);

[オブジェクトオブジェクト]、[オブジェクトオブジェクト]だけが表示されます...ここで問題は何ですか?ありがとう。

4
D Kim

JSON.stringify() を使用できます。

ただし、データはJSON構造である必要があります。

したがって、あなたの場合は次のようになります:

var data = [{"a":1,"b":2,"c":3},{"a":4,"b":5,"c":6},{"a":7,"b":8,"c":9}]
add(JSON.stringify(data))

[{"a":1,"b":2,"c":3},{"a":4,"b":5,"c":6},{"a":7,"b":8,"c":9}] //output of JSON.Stringify()

まず、関数にオブジェクトパラメータを渡し、オブジェクトを配列に格納できます。

_var data = []; //array
function add(d) {
 data.Push(d); //add passed item to array
 console.dir(data); //this will print the whole object
}

add({"a":1,"b":2,"c":3});
_

console.dir()は、オブジェクト内のプロパティを出力します。

0
Shwetha

同じ問題が数時間後に発生し、JSON.parse(data)を使用して修正しました。

var data = '[{"a":1,"b":2,"c":3},{"a":4,"b":5,"c":6},{"a":7,"b":8,"c":9}]';
var obj = JSON.parse(data);
obj.forEach(myFunction);
function myFunction(item, index) {
     var eachid = item.id;
     console.log("Item-id", eachid);//you will get id 
     add(eachid);
} 

あなたは直接データを渡しています

0
Pakkiya Nathan