简体   繁体   English

JavaScript/JSON:获取 object 的未知属性

[英]JavaScript/JSON: Get unknown property of an object

If I have a JSON object like this:如果我有这样的 JSON object:

{
    "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?属性的名称(这里) stringLengthTooShort每次都在变化,我怎么能简单地用JS 获取name的子属性呢? At the moment I have message.name but how could I get now the child of it?目前我有message.name但我现在怎么才能得到它的孩子呢?

if it's always the first property of message.name , you could do something like:如果它始终是message.name的第一个属性,您可以执行以下操作:

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:编辑:这个答案九年后,所有现代浏览器都支持 es20xx,所以可以安全使用:

 const obj = { "message": { "name": { "stringLengthTooShort": "blub" } } }; console.log(Object.keys(obj.message.name)[0]);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM