访问javascript对象中包含斜杠的属性名
嗨,我正在尝试访问一个js对象属性,它的名称中有一个斜杠“/” 这个物体有点像:访问javascript对象中包含斜杠的属性名,javascript,json,Javascript,Json,嗨,我正在尝试访问一个js对象属性,它的名称中有一个斜杠“/” 这个物体有点像: { my/key : "my value" // more stuff here... } 我尝试以下构造: myObject["my/key"] 如果我尝试在ChromeDevTools中使用它,它会正常工作,但当我执行代码时,我会在浏览器控制台上看到一个漂亮的未定义的代码(使用console.log() 有人知道发生了什么吗S将道具名称括在引号中时,它在代码中也起作用: var obj = {
{
my/key : "my value"
// more stuff here...
}
我尝试以下构造:
myObject["my/key"]
如果我尝试在ChromeDevTools中使用它,它会正常工作,但当我执行代码时,我会在浏览器控制台上看到一个漂亮的未定义的代码(使用console.log()
有人知道发生了什么吗S将道具名称括在引号中时,它在代码中也起作用:
var obj = {
'my/key' : 'my value'
};
您可以在查看。我在Node.js中尝试了您的代码,只要引用了属性名,它就可以正常工作
尝试输出用于访问该值的键(“my/key”)的确切值-可能,您使用的是另一个键。尝试在斜杠之前使用反斜杠,这可能会有所帮助。/这不是非法字符-请参阅,以获取有效内容的全面描述。几乎任何内容都可以进入属性名称(包括换行符,例如
a={};a[“\n”]='foo';
有效),只要将其括在引号中并使用数组访问操作符。JS对象本质上是键值映射,键可以是任何东西。这是您想要做的;没有引号,它是除法操作符。