web-dev-qa-db-fra.com

Comment passer un ensemble de données json dans la fonction javascript?

J'ai un ensemble de données comme ci-dessous:

data = '{"a": 1, "b": 2, "c": 3}, {"a": 4, "b": 5, "c": 6}, {"a": 7, "b": 8, "c": 9} ';

J'essaie de créer une fonction avec l'ensemble de données comme paramètre, mais le paramètre ne serait pas lu. Voici ce que j'ai fait:

fonction add (données) {alerte (données); } ajouter (données);

Je ne reçois que [objet Object], [objet Object] ... Quel est le problème ici? Merci.

4
D Kim

Vous pouvez utiliser JSON.stringify() .

Cependant, les données doivent avoir une structure JSON.

Donc, dans votre cas, ce serait:

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()

Vous devez d'abord transmettre à la fonction un paramètre d'objet et vous pouvez stocker l'objet dans un tableau:

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() vous fera imprimer les propriétés dans l'objet.

0
Shwetha

je reçois également le même problème quelques heures plus tard et je l'ai corrigé en utilisant JSON.parse (données) .. Comme le codage ci-dessous

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);
} 

vous passez directement les données. donc seulement vous obtenez [objcet Object] ... si vous utilisez JSON.parse (data), vous obtiendrez l'id de chaque élément

0
Pakkiya Nathan