Getting property key from json object

26,185

Solution 1

var names = [];
for ( var o in jsonobj.Table ) {
  names.push( o ); // the property name
}

In modern browsers:

var names = Object.keys( jsonobj.Table );

Solution 2

You can browse the properties of the object:

var table = jsonobj.Table;
for (var prop in table) {
  if (table.hasOwnProperty(prop)) {
    alert(prop);
  }
}

The hasOwnProperty test is necessary to avoid including properties inherited from the prototype chain.

Share:
26,185
benVG
Author by

benVG

Updated on December 18, 2020

Comments

  • benVG
    benVG over 3 years

    Preamble: I'm Italian, sorry for my bad English.

    I need to retrieve the name of the property from a json object using javascript/jquery.

    for example, starting from this object:

    {
          "Table": {
              "Name": "Chris",
              "Surname": "McDonald"
           }
    }
    

    is there a way to get the strings "Name" and "Surname"?

    something like:

    //not working code, just for example
    var jsonobj = eval('(' + previouscode + ')');
    var prop = jsonobj.Table[0].getPropertyName();
    var prop2 = jsonobj.Table[1].getPropertyName();
    return prop + '-' + prop2; // this will return 'Name-Surname'