我有一个localStorage作为JSON字符串。看起来像:
{"ttl":15778500,"now":1426846074300,"id":"1","name":"I am","id":"69"}
我只需更改" id"的值并保留其他原样。
我的代码如下:
var dbget = JSON.parse(localStorage.getItem('localStorage') || "0");
dbget.id = 25;
但是当我试图保存时,它无效。
localStorage.setItem('localStorage', JSON.stringify(dbget));
你能建议我怎么做吗?非常感谢提前。
答案 0 :(得分:2)
您的json中有id
个重复
这是因为第一次没有json对象而dbget只有0
,这会导致错误并且没有添加任何对象,请尝试更改初始化,如
// Add empty object {} in place of "0" -------------------------v
var dbget = JSON.parse(localStorage.getItem('localStorage') || {} );
dbget.id = 25;
答案 1 :(得分:0)
问题出在我原来的字符串中,有两个id:
{"ttl":15778500,"now":1426846074300,"id":"1","name":"I am","id":"69"}
当我将一个id更改为id2时,它按原样运行。
答案 2 :(得分:0)
我的JSON不正确,不应该有重复的ID:
{"ttl":15778500,"now":1426846074300,"id":"1","name":"I am","id2":"69"}