我曾尝试过其他指南,但似乎都没有。我想在一个看起来像这个(片段)的单独JSON文件中获取第一个对象:
Container
我的代码段如下所示:
{
"employees": [{
"occupation": "cook",
"id": [{
"address": {
"postal_code": 12342,
"city": "detroit"
},
"children": "none"
],
}
}
// and so forth, there are more objects in the employees-array
我想访问第一个对象"地址"。如果我输入`console.log(this.address [0] .city);,我将从"雇员"中的每个对象获得所有第一个" city" -values。
事先谢谢!
答案 0 :(得分:4)
在each()
内,this
会引用employee
对象,因此您需要将console.log()
修改为:
$.each(data.employees, function(i, emp) {
if (this.id.length) {
console.log(this.id[0].address.city);
}
});
答案 1 :(得分:3)
为什么不在每个块中使用emp变量?
$.each(data.employees, function(i, emp) {
if (emp.id.length) {
console.log(emp.id[0].address.city);
}
}
答案 2 :(得分:1)
最初你的对象是
{
"employees": [{
"occupation": "cook",
"id": [{
"address": {
"postal_code": 12342,
"city": "detroit"
},
"children": "none"
],
}
}
试试这段代码。
$.each(data.employees, function(i, emp) { //each function will able access each employees
if (this.id.length) {
console.log(this.id[0].address.city); // at each employee get the first element of array id.
}
}
.each
函数将遍历employees
数组。 this.id[0]
这将能够访问标识为id的数组的第一个元素。在id里面有一个地址对象。
"address": {
"postal_code": 12342,
"city": "detroit"
}
this.id[0].address
: - 此代码将为您提供地址对象。
{
"postal_code": 12342,
"city": "detroit"
}
this.id[0].address.city
: - 在内部地址对象中,您现在将使用这段代码获取城市。在这里你会得到答案..
"city": "detroit"
感谢。
答案 3 :(得分:1)