0
用下面的JSON:HTML5本地存儲字符串化的並存儲每個對象引用
var myObj = {name: 'my obj', does: 'nothing'};
var myObjArr = [myObj, myObj, myObj];
當存儲myObjArr到本地存儲中,MyObj中JSON是wrtten 3次,服用了3倍的存儲空間,即:
"[{"name":"my obj","does":"nothing"},{"name":"my obj","does":"nothing"},{"name":"my obj","does":"nothing"}]"
很明顯,這將帶來可擴展性問題。任何人都可以推薦最佳解決方案到目前爲止,我不得不訴諸使用ID,一個關係數據庫。
var objects = {0: {name: 'my obj', does: 'nothing'}};
var myObjArr = [{obj: 0}, {obj: 0}, {obj: 0}];
更新 - 問題是當所有數據最終都存儲爲鍵/值字符串時,如何在本地存儲中表示此層次結構。訴諸關係數據庫概念似乎是過時的。
我猜你的例子對象有時會改變?因爲看起來你只有一個相同的對象三次 - 它會始終是一個相同的元素數量還是會改變? – Henry 2011-05-11 03:10:50
@Henry這只是一個示例,用於顯示一個對象是否包含多個對另一個對象的引用,它將爲每個引用浪費空間的每個引用進行字符串化,並且當您從後面解析JSON時會丟失多對一連接本地存儲......當然必須有一個更清潔的方式? – 2011-05-11 03:40:15