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

Jer*_*hof 7 javascript html5 local-storage

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

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

问题:
我需要存储文件和状态(光标和活动文件的最后放置).我已经通过在另一个stackoverflow线程中实现建议而这样做了.但是想要考虑如何构建要使用的内容.

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

files = {};
// later, saving
files[fileName] = data;
Run Code Online (Sandbox Code Playgroud)

然后使用一些建议存储在localStorage中

localStorage.setObject("files", files);
// Note that setObject(key, data) does not exist but is added
// using Storage.prototype.setObject = function() {...
Run Code Online (Sandbox Code Playgroud)

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

Jer*_*hof 8

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

var files = {};
// Add loads of data
Run Code Online (Sandbox Code Playgroud)

然后使用JSON.stringify()以下方法存储它们

localStorage.setItem('myFiles', JSON.stringify(files));
Run Code Online (Sandbox Code Playgroud)

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