【发布时间】:2016-04-15 08:58:34
【问题描述】:
我知道这是一个奇怪的问题,但我是一个非常新手,似乎无法解决这个问题。我有一个通过 firebase 发送给我的 Javascript 对象,如下所示:
var blob = {
matt@email,com: { //notice the comma because periods are illegal in keys
email: "matt@email.com" //actual email with period
name: "Matt Sanford"
pic: "https://lh3.googleusercontent.com/-LeQrq-_KjJE/AAAAAAAAAAI/AAAAAAAAAoI/4l6r2HNdock/photo.jpg"
provider: "google"
uid: "0000000000000000"
}
}
}
我正在尝试通过控制台访问最里面的树,如下所示:console.log(blob.matt@email,com) //throws an error because of an invalid token
即使它应该返回带有email、name 等的对象。
但是当我尝试相同的结构时:
var blob = {foo: {bar: true} }
console.log(blob.foo) //output '{bar: true}'
我想知道两件事,是因为逗号而使修改后的电子邮件的初始密钥是非法的,还是没有办法在 javascript 中读取这样的密钥?建议受到赞赏,因为我只是在这里学习。
更新
我将如何动态访问密钥?显然,动态输入每个键是不可能的。如果不知道键名到底是什么,我将如何阅读它?
【问题讨论】:
-
两件事,1.当对象的key包含特殊符号时,使用引号 2使用逗号作为对象的两个元素之间的分隔符
-
console.log( blob['matt@email,com'] )
标签: javascript angularjs json firebase