用于在localStorage(HTML5)中保存文件的合适数据结构?

时间:2010-05-10 02:24:17

标签: javascript html5 local-storage

当没有要维护的数据库和用户进行身份验证时,这很好。我的教授要求我转换他最近使用Bespin的研究项目,并计算用户在代码编辑器中所犯的错误,作为他研究的一部分。

目标是完全从MySQL转换为使用HTML5 localStorage。虽然挖掘他的代码可能需要一些时间,但似乎并不难做到。

问题:
我需要存储文件和状态(光标和活动文件的最后放置)。我已经通过实施another stackoverflow thread中的建议来实现这一目标。但是想要考虑如何构建要使用的内容。

我目前的解决方案> Hashmap就像使用javascript对象的解决方案一样:

files = {};
// later, saving
files[fileName] = data;

然后使用一些recommendations

存储在localStorage中
localStorage.setObject("files", files);
// Note that setObject(key, data) does not exist but is added
// using Storage.prototype.setObject = function() {...

目前我也在考虑使用某种类型的数字ID。这样就可以更改名称,而无需在hashmap中重命名密钥。你对它的解决方式有什么看法,你会以不同的方式做到这一点吗?

1 个答案:

答案 0 :(得分:8)

目前我已经决定在做了一些阅读和研究之后,最好的方法是使用对象文字将所有内容存储在对象中:

var files = {};
// Add loads of data

然后使用JSON.stringify()存储它们:

localStorage.setItem('myFiles', JSON.stringify(files));

这是一种很好的做法,因为它存储了大量易于存储和访问的信息。此外,它还可以防止在使用localStorage中添加键值对信息的简单方法以及何时使用localStorage.setItem(key, value)函数

时出现混淆