0

有一个这样的列表:

 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) 方法,但无济于事。

4

1 回答 1

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'));

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

于 2013-06-11T14:22:47.247 回答