给定一个像这样的对象:
var obj = {
"name":"JonDoe",
"gender":"1",
"address":{
"phone":"1"
}
}
我知道你可以拥有这样的东西:
console.log(obj['name']); // returns 'JonDoe'
我的问题在于内部结构“地址”,我想将其“电话”内部字段定位为 obj['address.phone']
但它返回未定义,其中所有 1 级字段都返回匹配值。
我很确定你可以使用一些(反)序列化函数或任何 json 库来做到这一点,但我想知道是否有一种聪明的方法来列出所有内部结构,如“地址”在没有初步了解的情况下我要定位哪个字段(例如 obj[field])。
最佳答案
做:
var phone = obj.address.phone;
使用变量作为属性名称时通常使用括号表示法。如果您知道这些属性,请随意使用点符号(如上所示)
关于JavaScript 对象结构 : how to access inner field with 'complex.key' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25041719/