我有以下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执行此操作?感谢您的输入
答案 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
允许访问包含特殊字符的属性以及使用变量选择属性。