Come faccio a codificare un object JavaScript come JSON?

C’è un buon modo per codificare un object JavaScript come JSON?

Ho un elenco di coppie di valori chiave … dove il nome proviene da una casella di controllo e il valore è vero o falso in base al fatto che la casella sia selezionata o meno:

var values = {}; $('#checks :checkbox').each(function() { values[this.name]=this.checked; }); 

Voglio passare questi valori in un object JSON in modo da archiviarli in un cookie per eseguire il rendering di una tabella (le colonne verranno aggiunte in base a ciò che l’utente controlla).

Qualcuno conosce una soluzione?

Penso che tu possa usare JSON.stringify :

 // after your each loop JSON.stringify(values); 

Tutti i principali browser ora includono codifica / decodifica JSON nativa.

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

Si noti che solo i dati JSON validi saranno codificati. Per esempio:

 var obj = {'foo': 1, 'bar': (function (x) { return x; })} JSON.stringify(obj) // --> "{\"foo\":1}" 

I tipi JSON validi sono: oggetti, stringhe, numeri, matrici, true , false e null .

Alcune risorse JSON:

  • JSON su Mozilla Developer Network
  • JSON su Wikipedia