更新本地存储 json.stringify
update local storage json.stringify
我有一个 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));
你能建议我怎么做吗?非常感谢。
您的 json
中有重复的 id
因为第一次没有json对象,dbget只有0
,会报错,没有添加对象,尝试改初始化,
// Add empty object {} in place of "0" -------------------------v
var dbget = JSON.parse(localStorage.getItem('localStorage') || {} );
dbget.id = 25;
问题出在我带有两个 ID 的原始字符串中:
{"ttl":15778500,"now":1426846074300,"id":"1","name":"I am","id":"69"}
当我将一个 id 更改为 id2 时,它按预期工作。
我的 JSON 不正确,不应该有重复的 ID:
{"ttl":15778500,"now":1426846074300,"id":"1","name":"I am","id2":"69"}
我有一个 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));
你能建议我怎么做吗?非常感谢。
您的 json
中有重复的id
因为第一次没有json对象,dbget只有0
,会报错,没有添加对象,尝试改初始化,
// Add empty object {} in place of "0" -------------------------v
var dbget = JSON.parse(localStorage.getItem('localStorage') || {} );
dbget.id = 25;
问题出在我带有两个 ID 的原始字符串中:
{"ttl":15778500,"now":1426846074300,"id":"1","name":"I am","id":"69"}
当我将一个 id 更改为 id2 时,它按预期工作。
我的 JSON 不正确,不应该有重复的 ID:
{"ttl":15778500,"now":1426846074300,"id":"1","name":"I am","id2":"69"}