繁体   English   中英

jQuery + localStorage - JSON 值检查真假

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM