如何将JavaScript对象编码为JSON?

时间:2012-06-06 18:26:56

标签: javascript jquery json checkbox hashtable

有一种将JavaScript对象编码为JSON的好方法吗?

我有一个键值对列表...其中名称来自一个复选框,根据是否选中该框,该值为true或false:

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

我想将这些值传递给JSON对象,因此存储到cookie中以呈现表格(将根据用户检查的内容添加列)。

有谁知道解决方案?

2 个答案:

答案 0 :(得分:111)

我认为您可以使用JSON.stringify

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

答案 1 :(得分:27)

现在所有主流浏览器都包含原生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类型包括:对象,字符串,数字,数组,truefalsenull

一些JSON资源: