如何将 JavaScript 对象编码为 JSON?

IT技术 javascript jquery json checkbox hashtable
2021-02-19 17:42:49

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

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

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

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

有谁知道解决方案?

2个回答

我认为你可以使用JSON.stringify

// after your each loop
JSON.stringify(values);
@daniellanger - 根据您的评论,这就是答案。您需要进行一些调试以了解为什么没有显示内容
2021-04-19 17:42:49
IE 10 给出:JavaScript 运行时错误:'JSON' 未定义
2021-04-30 17:42:49
我把它放在一个 alert() 中,但什么也没出现
2021-05-13 17:42:49
那么如何将其保存到文件/将其存储为 cookie?
2021-05-15 17:42:49

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

一些 JSON 资源:

好吧,它们在 javascript 中被称为“对象”。但是是的,布尔值可以用 JSON 表示。
2021-04-28 17:42:49