JSON密钥中的@符号在访问时给出错误

时间:2018-07-17 09:52:56

标签: javascript json

我有以下JSON元素。

    "myObj":[
      {
         "@type":"xzy",
         "data" :"pqr"
      }
     ]

我正在使用以下键访问数组内部的值

var data = myNode.filter(x => x.@type=='xyz').map(y=>y.data)

但是我不能这样做,因为密钥中的@符号。我尝试用'

包围它
var data = myNode.filter(x => x.'@type'=='xyz').map(y=>y.data)

,但是再次失败。 @符号在JSON中有效。因此,我应该能够访问它。如何使用Javascript执行此操作?感谢您的输入

1 个答案:

答案 0 :(得分:1)

代替:

var data = myNode.filter(x => x.'@type'=='xyz').map(y=>y.data)

使用此:

var data = myNode.filter(x => x['@type']=='xyz').map(y=>y.data)

Square bracket notation 允许访问包含特殊字符的属性以及使用变量选择属性。