Как кодировать объект JavaScript как JSON?


есть ли хороший способ кодировать объект JavaScript как JSON?

У меня есть список пар ключ-значение...где имя взято из флажка, а значение равно true или false в зависимости от того, установлен ли флажок или нет:

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

Я хочу передать эти значения в объект JSON, чтобы сохранить их в файле cookie для отображения таблицы (столбцы будут добавлены в соответствии с тем, что пользователь проверяет).

кто-нибудь знает решение?

2 54

2 ответа:

Я думаю, что вы можете использовать JSON.преобразовать в строки:

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

все основные браузеры теперь включают собственное кодирование/декодирование JSON.

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

обратите внимание, что будут закодированы только действительные данные JSON. Например:

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

допустимые типы JSON: объекты, строки, числа, массивы,true,false и null.

некоторые ресурсы JSON: