正在具有JSON结构,如下所示

var myJSON = {
               "userTypes": {
                     "@type": "Array",
                     "type": [
                               "Administrator",
                               "Customer",
                               "Guest"
                              ]
                            }
             }


当我尝试访问myJSON.userTypes.@type时出现错误“ SyntaxError:意外令牌ILLEGAL”,但是如果我这样访问myJSON.userTypes.type则可以访问该数组。

所以我的问题是


@符号即使存在也真的对键没有关系吗?
这会产生什么影响?


问候,

纳文

最佳答案

当访问JavaScript对象中的属性时,可以使用点表示法或方括号表示法进行访问。

如果使用点符号,则只能访问可以表示为标识符的属性。标识符不能以@字符开头。

由于您尝试访问的属性无法用标识符表示,因此您只能使用方括号表示法。这样:

myJSON.userTypes['@type']

09-27 07:38