将变量求值作为JSON查询的一部分

evaluate variable as part of JSON query

本文关键字:JSON 查询 一部分 变量      更新时间:2023-09-26

我得到了这个:

var JSON = [
    {
        "id": 1,
        "name1": "Seymore Butts",
        "name2": "Jane Doe",
        "name3": "John Smith",
        "name4": "Mike Hawk"
    }];
for (i = 1; i < 5; i++) {
    var index = "name" + i;
    window.console.log(JSON[0].index);
}

当然,因为它在寻找,所以它变得不明确了

JSON[0].index 

而不是

JSON[0].name1 

有什么方法可以强制它评估索引var,而不仅仅是读取"index"?

是的,只需将语法更改为:

window.console.log(JSON[0][index]);

使用此:

for (i = 1; i < 5; i++) {
    var index = "name" + i;
    window.console.log(JSON[0][index]);
}

这里.[]的区别在于,object.sub_field将尝试访问名为sub_field的字段,而object[sub_field]将尝试访问由"变量sub_field中的任何内容"命名的字段。