-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
  • 6,501
  • 10
  • 40
  • 59

3 Answers3

2

No, use

items[item]

otherwise items.item will try to get attribute named item

Anurag Uniyal
  • 81,711
  • 39
  • 167
  • 215
2

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

var item = "item_green";
console.log(items[item]);
adeneo
  • 303,455
  • 27
  • 380
  • 377
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 --
  • 54,565
  • 8
  • 62
  • 98