阅读Javascript对象

Tee*_*eej 2 javascript javascript-objects

我在javascript中有以下代码

var result = {
    'org.apache.struts' : '4567ty5y7u8j89hjk789',
    'firstName' : 'Thorpe',
    'surName' : 'Obazee'
}
Run Code Online (Sandbox Code Playgroud)

当我尝试阅读结果时:

// this works
sys.puts(result.firstName) // returns Thorpe
sys.puts(result.surName) // returns Obazee
Run Code Online (Sandbox Code Playgroud)

当我读到其他财产时,问题就来了

sys.puts(result.org.apache.struts) // return an error
Run Code Online (Sandbox Code Playgroud)

错误:预期'TypeError:无法读取未定义的属性'apache'

我该怎么读这个以便我可以访问我提供的信息?

And*_*y E 9

您可以使用括号表示法来访问名称包含对点表示法无效的字符的属性:

result["org.apache.struts"]
Run Code Online (Sandbox Code Playgroud)

如果要为对象添加更多级别以便可以使用点表示法,则需要为每个级别声明另一个对象,例如:

var result = {
    org: { apache: { struts: '4567ty5y7u8j89hjk789' } },
    firstName: 'Thorpe',
    surName: 'Obazee'
}

alert(result.org.apache.struts);
Run Code Online (Sandbox Code Playgroud)