正在具有JSON结构,如下所示
var myJSON = {
"userTypes": {
"@type": "Array",
"type": [
"Administrator",
"Customer",
"Guest"
]
}
}
当我尝试访问
myJSON.userTypes.@type
时出现错误“ SyntaxError:意外令牌ILLEGAL”,但是如果我这样访问myJSON.userTypes.type
则可以访问该数组。所以我的问题是
@符号即使存在也真的对键没有关系吗?
这会产生什么影响?
问候,
纳文
最佳答案
当访问JavaScript对象中的属性时,可以使用点表示法或方括号表示法进行访问。
如果使用点符号,则只能访问可以表示为标识符的属性。标识符不能以@
字符开头。
由于您尝试访问的属性无法用标识符表示,因此您只能使用方括号表示法。这样:
myJSON.userTypes['@type']