【问题标题】:How can I test for localStorage value in this example?在此示例中如何测试 localStorage 值?
【发布时间】:2017-03-15 14:18:17
【问题描述】:

当我做localStorage.getItem('user'); 时,我收到这个值:

{
    "userDetails": {
        "gender": "",
        "language": "de",
        "color":
      }
}

我需要根据language 值匹配我的逻辑。例如如果"language": "de" 做某事,如果"language": "en" 做其他事情。

在我的示例中如何匹配 key 中的值?

谢谢。

【问题讨论】:

  • 如果数据被存储为有效的 JSON 文本,您就可以使用JSON.parse。但是如果没有 "color" 键的值,那将无法正常工作。这只是一个遗漏吗?
  • 是的,颜色并不重要。对此感到抱歉..

标签: javascript jquery html json local-storage


【解决方案1】:

getItem 会返回一个字符串,所以首先要做的是解析它:

var data = JSON.parse(localStorage.getItem("user"));

假设您的数据是有效的 JSON(问题中的文本不是但看起来应该是,它缺少 "color": 的值),这将返回解析的数据。

现在您有一个对象,其属性名为userDetails,而该属性又具有一个名为language 的属性,因此您可以通过data.userDetails.language 访问它,也许在switch 中:

switch (data.userDetails.language) {
    case "de":
        // ...
        break;
    case "en":
        // ...
        break;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-13
    • 2015-12-30
    • 1970-01-01
    • 2023-02-06
    • 1970-01-01
    • 2012-07-14
    • 2019-01-28
    • 1970-01-01
    相关资源
    最近更新 更多