访问本地存储中列表的元素

时间:2013-06-11 14:03:47

标签: javascript arrays json list local-storage

列出如下:

 var names_Array = [];

 var names_List = new WinJS.Binding.List(names_Array);

我将列表推入以下内容:

names_List.push({ name: "Joe Dowling", image: "image/Joe Dowling.png", ClientID: "1234" });
names_List.push({ name: "Esteban Flamenco ", image: "image/Esteban Flamenco.png", ClientID: "6666" });

然后我将列表设置在本地存储中,如下:

window.localStorage.setItem('names_List', names_List);

最后我得到了这样的项目:

  var test = window.localStorage.getItem('names_List');
  console.log(test);

我希望能够在控制台中打印列表的元素。任何人都可以指导我这个。我尝试过使用names_List.getAt(index)方法但无济于事。

1 个答案:

答案 0 :(得分:3)

你几乎肯定会在这里弄得一团糟,因为localStorage只会存储字符串。任何其他类型的对象将转换为字符串。所以你可能得到像[object Object],[object Object],[object Object],[object Object]这样的东西,一个对象数组的结果被转换成一个字符串。

解决此问题的最佳方法是使用JSON。

window.localStorage.setItem('names_List', JSON.stringify(names_List));
var test = JSON.parse(window.localStorage.getItem('names_List'));

这会以更有意义的方式将对象转换为字符串,因此您将保留结构。