Comment puis-je construire une chaîne json en javascript/jquery?

Je voudrais construire une chaîne json par programmation. Le produit final devrait être quelque chose comme:

var myParamsJson = {first_name: "Bob", last_name: "Smith" };

Cependant, je voudrais le faire un paramètre à la fois. Si c'était un tableau, je ferais juste quelque chose comme:

var myParamsArray = [];
myParamsArray["first_name"] = "Bob";
myParamsArray["last_name"] = "Smith";

Cela ne me dérangerait même pas de construire ce tableau puis de le convertir en json. Des idées?

21
demandé sur Kenneth Vogt 2012-05-12 03:10:36

2 réponses

Vous pouvez faire une chose similaire avec des objets:

var myObj = {};
myObj["first_name"] = "Bob";
myObj["last_name"] = "Smith";

Et vous pouvez ensuite utiliser la méthode JSON.stringify pour transformer cet objet en une chaîne JSON.

var json = JSON.stringify(myObj);
alert(json);

Affichera:

{"first_name":"Bob","last_name":"Smith"}

Cette méthode est intégrée nativement dans tous les navigateurs modernes (même IE8 le supporte, même si IE8 est très loin d'être un navigateur moderne). Et si vous avez besoin de prendre en charge certains navigateurs hérités, vous pouvez inclure le json2.js script.

50
répondu Darin Dimitrov 2012-05-11 23:14:10

Créer un objet normal:

var o = {
    first_name: 'Robert',
    last_name: 'Dougan'
};

, puis utiliser JSON.stringify pour en faire une chaîne:

var string = JSON.stringify(o); //"{"first_name":"Robert","last_name":"Dougan"}"
11
répondu rdougan 2012-05-11 23:13:18