使用变量[duplicate]遍历JSON

问题描述 投票:1回答:2

这个问题在这里已有答案:

我试图使用在我的脚本中先前设置的变量遍历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”。

任何人都可以帮助我吗?

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

谢谢,

javascript json traversal
2个回答
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

会做


0
投票

您可以使用以下代码。 json[getid]返回一个arrayobject所以你需要使用[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);
© www.soinside.com 2019 - 2024. All rights reserved.