次のような JSON オブジェクトがあるとします。
{
"message": {
"name": { "stringLengthTooShort": "blub" }
}
}
プロパティの名前 (ここ)stringLengthTooShort
は毎回変わりますがname
、JS で子プロパティを取得するにはどうすればよいでしょうか? 現時点では持ってmessage.name
いますが、どうすればその子を手に入れることができますか?
次のような JSON オブジェクトがあるとします。
{
"message": {
"name": { "stringLengthTooShort": "blub" }
}
}
プロパティの名前 (ここ)stringLengthTooShort
は毎回変わりますがname
、JS で子プロパティを取得するにはどうすればよいでしょうか? 現時点では持ってmessage.name
いますが、どうすればその子を手に入れることができますか?
それが常に の最初のプロパティで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])
編集:この回答から9年後、最新のブラウザはすべてes20xxをサポートしているため、安全に使用できます:
const obj = {
"message": {
"name": { "stringLengthTooShort": "blub" }
}
};
console.log(Object.keys(obj.message.name)[0]);