san*_*nch 3 javascript json angularjs firebase
这是一个奇怪的问题,我知道,但我是一个新手,似乎无法解决这个问题.我有一个通过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"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我试图通过像这样的控制台访问最内层的树: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}'
Run Code Online (Sandbox Code Playgroud)
有两件事我想知道,因为逗号是修改后的电子邮件的初始密钥是非法的,还是没有办法在javascript中读取这样的密钥?建议是值得赞赏的,因为我正在学习,因为我在这里学习.
更新
我将如何动态访问密钥?显然,动态输入每个密钥是不可能的.如何在不知道密钥名称是什么的情况下阅读它?
你发布的不是json对象,它是一个javascript对象.JSON将引用其所有键.
绝对允许逗号,但你不能使用这样的标准obj.property语法:
console.log(blob.matt@email,com)
Run Code Online (Sandbox Code Playgroud)
你必须这样做:
console.log(blob['matt@email,com']);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
881 次 |
| 最近记录: |