JavaScript - 从动态键/值获取值到动态键/值

时间:2015-05-12 11:17:03

标签: javascript jquery json

var data = {
    "DYNAMIC_KEY/VALUE_A":{
        "DYNAMIC_KEY/VALUE_1":{
            "key_1":"value_1",
            "key_2":"value_2",
            "key_3":"value_3"
        },
        "DYNAMIC_KEY/VALUE_2":{
            "key_1":"value_1",
            "key_2":"value_2",
            "key_3":"value_3"
        },
        "DYNAMIC_KEY/VALUE_3":{
            "key_1":"value_1",
            "key_2":"value_2",
            "key_3":"value_3"
        }
    },
    "DYNAMIC_KEY/VALUE_B":{
        "DYNAMIC_KEY/VALUE_1":{
            "key_1":"value_1",
            "key_2":"value_2",
            "key_3":"value_3"
        },
        "DYNAMIC_KEY/VALUE_2":{
            "key_1":"value_1",
            "key_2":"value_2",
            "key_3":"value_3"
        },
        "DYNAMIC_KEY/VALUE_3":{
            "key_1":"value_1",
            "key_2":"value_2",
            "key_3":"value_3"
        }
    }
}

alert(data[DYNAMIC_KEY/VALUE_A[DYNAMIC_KEY/VALUE_1].key_1]);

alert(data[DYNAMIC_KEY/VALUE_A][DYNAMIC_KEY/VALUE_1]["key_1"]);

我尝试了几种解决方案,但事实并非如此!

有人可以解释一下如何继续吗?谢谢:))

2 个答案:

答案 0 :(得分:1)

/key个对象中有特殊符号(data)。这就是您的代码无法正常工作的原因。

要从此对象获取值,必须将key用作下标。

alert(data["DYNAMIC_KEY/VALUE_A"]["DYNAMIC_KEY/VALUE_1"].key_1);

对于key_1,您还可以使用下标[]表示法。

alert(data["DYNAMIC_KEY/VALUE_A"]["DYNAMIC_KEY/VALUE_1"]["key_1"]);

签入文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects

答案 1 :(得分:1)

你可以使用

alert(data['DYNAMIC_KEY/VALUE_A']['DYNAMIC_KEY/VALUE_1']['key_1']);

DEMO