2010-05-10 111 views
6

當沒有要維護的數據庫和用戶進行身份驗證時,這很好。我的教授要求我將他最近使用Bespin的研究項目進行轉換,並計算用戶在代碼編輯器中作出的錯誤,作爲他研究的一部分。適用於在localStorage(HTML5)中保存文件的數據結構?

目標是完全從MySQL轉換爲使用HTML5 localStorage。儘管挖掘他的代碼可能需要一些時間,但看起來並不難。

問題:
我需要存儲文件和狀態(光標和活動文件的上次放置)。我已通過執行another stackoverflow thread中的建議來完成此操作。但是希望您的輸入考慮如何構建要使用的內容。

我目前的解決辦法>的Hashmap喜歡用JavaScript對象解決方案:

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

然後在localStorage的使用一些recommendations

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

目前我還使用某種類型的數字ID的考慮存儲。因此,名稱可以在沒有任何麻煩的情況下重命名哈希映射中的密鑰。你對這個問題的解決方式有什麼看法?你會以不同的方式做到嗎?使用JSON.stringify()

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

然後將它們存儲:

回答

8

目前我已經在做一些閱讀和研究,以最好的方式是將一切存儲在對象使用對象的文字後決定

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

這是一個很好的做法,因爲它存儲了大量易於存儲和訪問的信息。此外,它從越來越混亂時使用localStorage添加鍵值對的信息,當簡單的方式來使用localStorage.setItem(key, value)功能

+1

JSON是這裏的答案... – gnarf 2011-01-04 20:58:55

+0

顯然你可以把它當作一個對象防止: 'localStorage ['myFiles'] = JSON.stringify(files)'或'localStorage.myFiles = JSON.stringify(files)' – 2012-03-29 09:06:12

相關問題