Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JavaScript/JSON: Get unknown property of an object

If I have a JSON object like this:

{
    "message": {
        "name": { "stringLengthTooShort": "blub" }
    }
}

The name of the property (here) stringLengthTooShort is changing every time, how could I simply just get the child property of name with JS? At the moment I have message.name but how could I get now the child of it?

like image 682
Poru Avatar asked Apr 30 '11 14:04

Poru


1 Answers

if it's always the first property of message.name, you could do something like:

var keys = [];
for (var l in message.name) {
  if (message.name.hasOwnProperty(l)){
    keys.push(l);
  }
}
//=>first property value should now be in message.name[keys[0]]);
//  (its label is keys[0])

Edit: nine years after this answer all modern browsers support es20xx, so it's safe to use:

const obj = {
    "message": {
        "name": { "stringLengthTooShort": "blub" }
    }
};

console.log(Object.keys(obj.message.name)[0]);
like image 126
KooiInc Avatar answered Oct 13 '22 03:10

KooiInc