使用 localStorage 中的值访问 JSON 数据

Access JSON data using a value from localStorage

在网上搜索一无所获,我决定在这里post。

我目前拥有的:

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

{
    "length": 10,
    "targetWords": {
        "SOME_NAME": [
            {
                "words": [
               "xyz",
                "xyz",
                "xyz",
                "xyz",
                "xyz",
                "xyz",
                "xyz",
                "xyz",
                "xyz",
                "xyz"
                ]
            },
            {
                "text": "Some example text",
                "letter": "X",
            }
        ],
}

我要求用户选择一个选项,然后 "record" 在变量中给出答案。我们称它为 "userInput".

userInput = localStorage.getItem("something")

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

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

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

但是如果我这样使用用户 answer/input 就无法这样做:

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

这样我只得到undefined

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

欢迎任何help/hints!感谢您的宝贵时间!

干杯, J

据我了解,也许我错了,localStorage 只是 key/value 存储。您必须将 json 转换为字符串,存储它,然后检索它并在您要使用它时将其转换回对象。

您可以使用方括号 select 一个 属性 和一个变量

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

你必须解析它然后根据用户输入得到结果像这样访问它

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