更新/编辑localStorage - JSONObject

时间:2014-04-17 14:10:54

标签: javascript html5 local-storage

是否可以编辑存储在Web本地存储上的JSON对象?目前我有一个字符串化的JSON对象

{fname":"Jerry","lname":"Lewis","email":"Jlewis@hollywood.com","password":"*********"}

使用函数

localStorage.setItem()要保存。

如何更改以上内容?谢谢

2 个答案:

答案 0 :(得分:2)

你可以这样做:

var myObj = JSON.parse(localStorage.getItem("yourKey"));
myObj.fname = "Clyde"; //change fname to Clyde
localStorage.setItem("yourKey", JSON.stringify(myObj));

答案 1 :(得分:0)

由于小的原因,解析和字符串化大对象效率非常低。这就是我写http://rhaboo.org的原因。它使用大量localStorage条目,因此您可以有效地一次更改位。

你写道:

var store = new Rhaboo.persistent("My Store Name");
if (store.friends === undefined) store.write('friends', [
  {fname":"Jerry", "lname":"Lewis", "email":"Jlewis@hollywood.com"},
  {fname":"Effie", "lname":"Bevan", "email":"ebevan@wales.com"}
]);
store.friends[0].write('phone', '0123 456789');
console.log(store.friends[0].phone);

现在,当您添加电话号码时,它只会重写两个localStorage条目,即电话号码本身的新条目,以及Jerry的先前最终属性,即他的电子邮件。这是因为它挂起了链表中属性的条目。 Effie的条目和朋友阵列本身都没有受到影响,刘易斯的一切都是电子邮件。这非常有效,特别是在大型数据集上。