我将数据设置为本地存储中名为“ todo”的键。
结构是这样的。
key: todo
value : [{"text":"sdf","idx":1,"curTime":"Sun Dec 22 2019","finYN":""}]
当单击按钮时,我想在finYN为空或“ N”时更新为“ Y”。
如果这是我当前的本地存储结构,则可以使用此代码,但我不知道如何处理当前结构。
key: text / value : "sdf"
key: idx / value : 1
key: finYN / value : "Y"
localStorage.setItem(“ finYN”,JSON.stringify(“ Y”));
答案 0 :(得分:2)
如果将值另存为字符串:
localStorage.setItem('todo', JSON.stringify({"text":"sdf","idx":1,"curTime":"Sun Dec 22 2019","finYN":""}));
然后您可以获取该localStorage密钥的值并将其转换回JSON:
var json = JSON.parse(localStorage.getItem('todo'));
从这里您可以通过访问json.finYN
然后更改JSON轻松地检查值,完成后,您可以再次将其存储为字符串。
答案 1 :(得分:1)
Localstorage值是纯字符串,因此您无法操作字符串化的对象。您将必须替换整个值。
var todos = JSON.parse(localStorage.getItem('todo'));
if(!todos[0]['finYN']){
todo['finYN'] = 'Y';
localStorage.setItem('todo',JSON.stringify(todos))
}