-1

Possible Duplicate:
Dynamic object property name

considering this json:

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

is this possible?

var item = "item_green";
echo(items.item)    //100
Community
  • 1
  • 1
coiso
  • 7,151
  • 12
  • 44
  • 63

3 Answers3

2

No, use

items[item]

otherwise items.item will try to get attribute named item

Anurag Uniyal
  • 85,954
  • 40
  • 175
  • 219
2

There is no echo in JS, but you could use bracket notation:

var item = "item_green";
console.log(items[item]);
adeneo
  • 312,895
  • 29
  • 395
  • 388
1

That is an invalid JSON.. Need to separate the Objects inside the array with commas

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

use console.log instead of echo

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

items.item would work if your JSON is in this format..

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

Check FIDDLE

Sushanth --
  • 55,259
  • 9
  • 66
  • 105