我收到一个类似于此的JSON对象,并在尝试获取雇主名称时继续提出 undefined :
{
name: 'Freddy Krueger',
birthdate: 'March 16, 2015',
email: 'email@domain.com',
'employer[name]': 'Some Employer, Inc',
'employer[address]': '1428 Elm St. Springwood, OH 00666'
}
我该如何访问雇主数据? obj.name,obj.birthdate等都没问题。但是obj.'employer [name]'当然不起作用。我已经尝试了我能想到的每个版本obj.employer ['name']都不好,我得到一个错误,上面写着 TypeError:无法读取未定义的属性'name'看起来像傻事,但我谷歌的所有内容只提到你的值中使用引号,而括号是数组。与获取对中名称中带有单引号和括号的数据无关。
我已经看到他们的结构,为了匹配这个,它看起来像:
{
"name": "Freddy Krueger",
"birthdate": "March 16, 2015",
"email": "email@domain.com",
"employer": {
"name": "Some Employer, Inc",
"address": "1428 Elm St. Springwood, OH 00666"
}
}
还有更多数据,但这显示了我遇到问题的部分。有时,“雇主”也会有电话,传真,电子邮件,网站等。它仍然看起来和我的第一个例子一样,只是将新对添加为'雇主[无论如何'':'价值'
答案 0 :(得分:2)
使用对象表示法:
var employerName = obj['employer[name]'];
var employerAddress = obj['employer[address]'];
答案 1 :(得分:0)
为了得到你必须做的名字
`obj["employer[name]"]`
而不是
obj."employer[name]"