解析jquery .map()之类的数组

时间:2014-10-24 22:09:53

标签: javascript jquery arrays

我有一个小提琴,显示我如何得到一个jq .map()数组,其中包含我网站上复选框的状态。它在控制台中生成以下对象:

 [Object {name="Sunday", status="Checked"}, Object {name="Monday", status="Checked"}, Object     {name="Tuesday", status="UnChecked"}]

将对象保存到本地存储。现在,显然,在下次用户访问该页面时,我想将该对象拉回并解析它以检查以前选中的复选框(是的,我知道本地存储不理想,但是对于这个项目来说没问题) 。我知道如何以编程方式检查复选框,但我似乎无法遍历已保存的对象。

以下是代码jsfiddle

1 个答案:

答案 0 :(得分:2)

Web存储仅支持字符串值。因此,您需要在保存之前使用JSON.stringify(obj)将对象转换为JSON字符串。

检索它时,您可以使用JSON.parse(str)$.parseJSON(str)将其解析回对象。

更新了例子:http://jsfiddle.net/ab316mkr/5/

来自MDN

  

注意:请记住,在存储之前,您在此页面中描述的任何存储中存储的所有内容都将使用其.toString方法转换为字符串。因此,尝试存储公共对象将导致存储字符串“[object Object]”而不是对象或其JSON表示。使用浏览器提供的本机JSON解析和序列化方法是以字符串格式存储对象的一种常用方法。