这个问题在这里已有答案:
我试图使用在我的脚本中先前设置的变量遍历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”的“模板”值。
我的console.log
console.log(json[getid]);
回报
[{template: "temp1"}]
但我真的不知道该怎么走。我尝试的一切都返回“未定义”或错误。
正如我所说,我希望在这个例子中得到“temp1”。
任何人都可以帮助我吗?
如果您需要更多信息,请告诉我。
谢谢,
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
会做
您可以使用以下代码。 json[getid]
返回一个array
的object
所以你需要使用[0]
访问数组的第一项,它将返回对象对象然后使用.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);