关于@symbol对JSON密钥的影响

Nav*_*eon 1 javascript arrays json

我有一个JSON结构如下

var myJSON = {
               "userTypes": {
                     "@type": "Array",
                     "type": [
                               "Administrator",
                               "Customer",
                               "Guest"
                              ]
                            }
             }
Run Code Online (Sandbox Code Playgroud)

当我尝试访问myJSON.userTypes.@type时收到错误" SyntaxError:Unexpected token ILLEGAL "但是如果我这样访问myJSON.userTypes.type则可以访问该数组.

所以我的问题是,

  1. 即使存在,@符号在密钥中是否真的无关紧要?
  2. 这会产生什么影响?

问候,

纳文

Que*_*tin 6

访问JavaScript对象中的属性时,可以使用点符号或方括号表示法.

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

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

myJSON.userTypes['@type']
Run Code Online (Sandbox Code Playgroud)