2

在 HTML5 的 localStorage 中存储对象数据的最佳方式是什么?我对键值存储的工作不多。

在我的研究中,我看到了几种不同的方法。

示例数据:

var commands = [
  {invokes: 'Window', type: 'file', data: '/data/1'},
  {invokes: 'Action', type: 'icon', data: '/data/2'},
  {invokes: 'Window', type: 'file', data: '/data/3'}
];

方法 1:存储代表每个数据项的键

// for(...) {
localStorage["command[" + i + "].invokes"] = command[i].invokes
localStorage["command[" + i + "].type"] = command[i].type
localStorage["command[" + i + "].data"] = command[i].data
//}

方法二:keys为实体名,存储json

localStorage["commands"] = JSON.stringify(commands);

第二种方法需要 JSON.parse()。

优点缺点?

4

3 回答 3

2

对于记录,我使用方法 2。我的键类似于表名,值是 json 字符串化的记录数组。检索表时,您必须调用 JSON.parse()。

于 2010-11-01T21:46:51.840 回答
0

本地存储技术是: http: //madhukaudantha.blogspot.com/2011/02/client-side-storages-with-html-5.html ...

方法2,好的..还有更多方法

于 2011-06-24T06:24:36.697 回答
0

当然,您的方法工作得很好,但是它确实让您有点坚持您选择前进的约定。我建议您考虑将您的 localStorage 访问包装在一个类中,以便您的约定作为一个真正的约定与一个类隔离。

否则,如果你选择改变你的方法,你的实现代码将分散在你的代码库中。

于 2011-10-15T15:29:15.140 回答