如果我有一个像这样的 JSON 对象:

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

属性名称(此处)stringLengthTooShort 每次都在变化,
我怎么能简单地用 JS 获取 name 的 child 属性?
目前我有 message.name 但我现在怎么能得到它的 child 呢?

最佳答案

如果它始终是 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])
编辑 :在这个答案九年后,所有现代浏览器都支持 es20xx,因此可以安全使用:

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

console.log(Object.keys(obj.message.name)[0]);

10-04 23:16
查看更多