使用变量遍历 JSON

traversing JSON using a variable

我正在尝试使用脚本中较早设置的变量遍历 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]);

returns

[{template: "temp1"}]

但我真的不知道如何进一步。我尝试的一切 returns "undefined" 还是一个错误。

正如我所说,我想在这个例子中得到"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] return 一个 array of one object 所以你需要使用 [0] 访问数组的第一项,这将 return object 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);