Подтвердить что ты не робот

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

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

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

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

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

Все основные браузеры теперь включают встроенную кодировку/декодирование 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: