JSON对象的数组存储在HTML5 localStorage
。
现在分隔符是;
用于访问和修改从物体的阵列localStorage
, split(';')
和join(';')
操作中使用。
然而,分隔符方法看起来不稳定。
例如;
可满足内部的对象属性和split(';')
操作将是uncorrect。
它可以用来;;
为分隔符,但我不能肯定这将是稳定也。
有没有处理任何可靠的方法localStorage
表现为对象的数组,尽量localStorage
保存为String
?
编辑
止动件中的一个是对象的数组无法保存到localStorage的古典: "[{},{}]"
localStorage
将其转换automatially到字符串如"{},{}"
在我的当前数据localStorage
:
"{"name":"volvo","id":"033"};{"name":"saab","id":"034"}"
假设
或许,我可以添加[
开始和]
在最后,但看起来并不gracefull
只是转换的对象JSON字符串:
localStorage.setItem("savedData", JSON.stringify(objects));
反之亦然:
objects = JSON.parse(localStorage.getItem("savedData")));
或者你可以在同一个localStorage的值添加多个对象:
localStorage.setItem("savedData", JSON.stringify([object1, object2 /*, etc*/]));
object1 = JSON.parse(localStorage.getItem("savedData"))[0];
object2 = JSON.parse(localStorage.getItem("savedData"))[1];
这里的DOM存储规范 。
您也可以访问savedData
是这样的:
localStorage.savedData = "Hello world"
var foo = localStorage.savedData;
这可以同时用于获取和设置数据,但它被认为是不那么“安全”比getItem('name');
和setItem('name', 'value');
阅读变量:
var xyz = JSON.parse( localStorage.getItem( 'element' ) );
存储变量:
localStorage.setItem( 'element' , JSON.stringify(xyz));
其中element
是本地存储变量的名称和xyz
js的变量的名称。
您可以使用解析和字符串化,如果数组不是太大,但如果是的话,你会重新编码整个数据的每个细微变化设置。
在图书馆http://rhaboo.org通过给每个数组条目的链接列表它自己的localStorage项上得到改善。 这意味着你可以非常有效地进行更改。 不像JSON,还接受文本命名属性和三种不同类型的稀疏项的(空,未定义的,根本不存在。)
顺便说一句,我写rhaboo。