[英]jQuery + localStorage - JSON value check true or false
我们在 localstorage 中存储一个值,其键名cookiesettings
。 该值将采用 JSON 格式,如下所示。
{ "enabled":true, "element1":{ "enabled":true }, "element2":{ "enabled":true }, "element3":{ "enabled":false } }
不确定如何提取和检查 element3 是否启用 true/false。 如果为真,我们需要显示 div。 否则,隐藏 div。
试图使用
localStorage.getItem('cookiesetting');
localStorage.getItem('cookiesetting.element3.enabled');
但得到未定义的错误。 尝试使用:
JSON.parse(localStorage.getItem('cookiesetting'));
仍然无法找到检查 element3 - Enabled - True 或 False 的解决方案。
查看此文档,其中说 Key 和 Value 必须是 String。
https://developer.mozilla.org/en-US/docs/Web/API/Storage/setItem
因此,您必须将其存储为 Object 的字符串化版本。
localStorage.setItem('cookiesetting', JSON.stringify({
"enabled":true,
"element1":{
"enabled":true
},
"element2":{
"enabled":true
},
"element3":{
"enabled":false
}
}))
您可以通过以下方式获取物品:
JSON.parse(localStorage.getItem('cookiesetting'))
JSON.parse(localStorage.getItem('cookiesetting')).element3.enabled
如果您有任何问题,请告诉我。
localStorage
不能存储对象,您需要将JSON
存储为字符串,因此在存储到localStorage
之前将您的cookieObject
转换为字符串
localStorage.setItem('cookiesetting', JSON.stringify(cookieItem));
从 localStorage 获取字符串并解析它并使用如下
let cookiesetting = JSON.parse(localStorage.getItem('cookiesetting'));
if (!!cookiesetting) {
console.log(cookiesetting.element3.enabled);
}
let cookieItem = { "enabled": true, "element1": { "enabled": true }, "element2": { "enabled": true }, "element3": { "enabled": false } }; localStorage.setItem('cookiesetting', JSON.stringify(cookieItem)); let cookiesetting = JSON.parse(localStorage.getItem('cookiesetting')); if (..cookiesetting) { console.log(cookiesetting;element3.enabled); }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.