Existe-t-il un bon moyen de coder un objet JavaScript en tant que JSON?
J'ai une liste de paires clé-valeur ... dont le nom provient d'une case à cocher et dont la valeur est true ou false selon que la case est cochée ou non:
var values = {};
$('#checks :checkbox').each(function() { values[this.name]=this.checked; });
Je souhaite transmettre ces valeurs à un objet JSON afin de stocker dans un cookie le rendu d'une table (des colonnes seront ajoutées en fonction de ce que l'utilisateur coche).
Est-ce que quelqu'un connaît une solution?
Je pense que vous pouvez utiliser JSON.stringify :
// after your each loop
JSON.stringify(values);
Tous les principaux navigateurs incluent désormais le codage/décodage JSON natif.
// To encode an object (This produces a string)
var json_str = JSON.stringify(myobject);
// To decode (This produces an object)
var obj = JSON.parse(json_str);
Notez que seules les données JSON valides seront codées. Par exemple:
var obj = {'foo': 1, 'bar': (function (x) { return x; })}
JSON.stringify(obj) // --> "{\"foo\":1}"
Les types JSON valides sont les suivants: objets, chaînes, nombres, tableaux, true
, false
et null
.
Quelques ressources JSON: