我正在尝试使用在脚本中更早设置的变量遍历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”。
有人可以帮我吗?
如果您需要更多信息,请告诉我。
谢谢
答案 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);