-1

可能重复:
动态对象属性名称

考虑到这个json:

{
    "items" : [
        { "item_blue" : "10" },
        { "item_green" : "100" },
        { "item_red" : "1000" }
    ]
}

这可能吗?

var item = "item_green";
echo(items.item)    //100
4

3 回答 3

2

不,使用

items[item]

否则items.item将尝试获取名为 item 的属性

于 2012-10-25T23:26:10.370 回答
2

JS 中没有回显,但您可以使用括号表示法:

var item = "item_green";
console.log(items[item]);
于 2012-10-25T23:26:33.120 回答
1

那是一个无效的 JSON.. 需要用逗号分隔数组内的对象

var data = {
              "items" : [
                 { "item_blue" : "10" },
                 { "item_green" : "100" },
                 { "item_red" : "1000" }
             ]
          };

使用console.log代替echo

var item = "item_green";
console.log(data.items[1][item]);

如果您的 JSON 采用这种格式,item.item将起作用..

var data = {
    "items": {
        "item_blue": "10",
        "item_green": "100",
        "item_red": "1000"
    }
};

检查小提琴

于 2012-10-25T23:37:34.083 回答