使用变量遍历JSON

时间:2019-03-11 14:26:26

标签: javascript json traversal

我正在尝试使用在脚本中更早设置的变量遍历JSON文件。

JSON示例:

{
    "page1": [{
        "template": "temp1",
        "other": "example"
    }],
    "page2": [{
        "template": "temp2",
        "other": "example"
    }],
    "page3": [{
        "template": "temp3",
        "other": "example"
    }]
}

变量可以是以下三个项目之一... page1,page2,page3

正如我所说,我在代码中进一步设置了变量,所以说变量是:

var getid = "page1";

我想做的是,如果变量为“ page1”,则获取“ temp1”的“ template”值。

我的console.log

console.log(json[getid]);

返回

[{template: "temp1"}]

但是我真的不知道该怎么做。我尝试的所有操作都会返回“未定义”或错误。

正如我所说,在本示例中,我想获取“ temp1”。

有人可以帮我吗?

如果您需要更多信息,请告诉我。

谢谢

2 个答案:

答案 0 :(得分:0)

var json = {
    "page1": [{
        "template": "temp1",
        "other": "example"
    }],
    "page2": [{
        "template": "temp2",
        "other": "example"
    }],
    "page3": [{
        "template": "temp3",
        "other": "example"
    }]
};

var getid = "page1";

console.log(json[getid][0].template);

您非常接近解决方案,只需完成数组内部的对象访问即可。

json[getid][0].template

会做

答案 1 :(得分:0)

您可以使用下面的代码。 json[getid]返回一个array中的object,因此您需要使用[0]访问数组的第一项,这将返回对象object,然后使用.template

let json = {
    "page1": [{
        "template": "temp1",
        "other": "example"
    }],
    "page2": [{
        "template": "temp2",
        "other": "example"
    }],
    "page3": [{
        "template": "temp3",
        "other": "example"
    }]
}
var getid = "page1";
console.log(json[getid][0].template);