javascript - 使用 localStorage 中的值访问 JSON 数据

标签 javascript json phaser-framework

在网上搜索了一无所获后,我决定在这里发帖。

我目前拥有的:

  • JSON

我有一个 JSON 文件,其中包含几个我需要根据用户输入检索的单词列表。它们看起来像这样:

{
    "length": 10,
    "targetWords": {
        "SOME_NAME": [
            {
                "words": [
               "xyz",
                "xyz",
                "xyz",
                "xyz",
                "xyz",
                "xyz",
                "xyz",
                "xyz",
                "xyz",
                "xyz"
                ]
            },
            {
                "text": "Some example text",
                "letter": "X",
            }
        ],
}
  • 本地存储输入

我要求用户选择一个选项并将答案“记录”在一个变量中。我们称它为“userInput”。

userInput = localStorage.getItem("something")
  • 我获取 JSON 并将其传递给一个变量(我使用的是 Phaser Framework)

TARGET_SOUNDS_DATA = this.game.cache.getJSON('targetSounds')

我现在想要的是访问其中的值。如果我这样做,我可以做到:

TARGET_SOUNDS_WORDS_ARRAY = TARGET_SOUNDS_DATA.targetWords.SOME_NAME[0].words

但是如果我像这样使用用户回答/输入就无法这样做:

TARGET_SOUNDS_WORDS_ARRAY =TARGET_SOUNDS_DATA.targetWords.userInput[0].words

这样我只会得到undefined

所以我知道我做错了什么,但是呢?

欢迎任何帮助/提示!感谢您的宝贵时间!

干杯, J

最佳答案

您可以使用方括号来选择带有变量的属性

TARGET_SOUNDS_WORDS_ARRAY = TARGET_SOUNDS_DATA.targetWords[userInput][0].words

关于javascript - 使用 localStorage 中的值访问 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35344858/

相关文章:

javascript - 为什么 Phaser 2.6.2 中的物体不会发生碰撞?

javascript - 需要将两个对象合并在一起,每个对象都有一个匹配 ID 的数组

javascript - Bootstrap - 如何从元素中清除 css 以重新开始?

python - 如何使用 python 在 json 中动态修改我的 datetime 对象?

javascript - 从javascript中删除双引号

python - 如何使用 Python 按名称引用 json 数组元素?

javascript - 在对象数组中查找,就像在单独的集合中一样

javascript - 对象的部分垃圾收集可能吗? (服务器端JS)

javascript - 带有 Phaser.io : High speed, Sprite 的 HTML5 游戏不会发生碰撞

javascript - JS 对象奇怪的行为