gpt4 book ai didi

javascript - 访问嵌套 json 时未定义

转载 作者:行者123 更新时间:2023-12-03 06:18:45 25 4
gpt4 key购买 nike

我希望从以下 JSON 数据中检索 people_idusernamenamepeople_type。最终我必须在引导模式表中填充这些详细信息。下列是我用来检索详细信息的 jQuery 代码:

.done(function (data_, textStatus_, jqXHR_) {
$.each(data_.people_list, function(key, value) {

$.each(value.details_list, function(k,v) {
console.log("Inside Loop:"+v.name);
$.each(v.role, function(k1,v1) {
console.log("Inside Another Loop for Role Name:"+v1.people_type);
});
});
});

})

目前我尝试仅访问 namepeople_type 。这是我在控制台上得到的输出:

 Inside Loop:First Hand Details
Inside Another Loop for Role Name:undefined
Inside Loop:First Hand Details
Inside Another Loop for Role Name:undefined
Inside Loop:UAB Multiple Myeloma Registry
Inside Another Loop for Role Name:undefined
Inside Loop:First Hand Details
Inside Another Loop for Role Name:undefined
Inside Loop:First Hand Details
Inside Another Loop for Role Name:undefined
Inside Loop:First Hand Details
Inside Another Loop for Role Name:undefined

为什么people_type未定义?我在网上读到,当该特定事物不存在时,就会得到undefined

{
"webservice_status" : {
"status" : "SUCCESS",
"message" : ""
},
"people_list" : [ {
"people_id" : 001,
"username" : "pxy123",
"full_name" : "James Camerion",
"details_list" : [ {
"id" : 1234,
"name" : "First Hand Details",
"role" : {
"type_id" : 3042,
"people_type" : "SuperUser"
}
} ]
}, {
"people_id" : 002,
"username" : "gbt123",
"full_name" : "Tom Cruise",
"details_list" : [ {
"id" : 1234,
"name" : "First Hand Details",
"role" : {
"type_id" : 3041,
"people_type" : "Normal User"
}
}, {
"id" : 5678,
"name" : "Second Hand Details",
"role" : {
"type_id" : 3042,
"people_type" : "SuperUser"
}
} ]
}, {
"people_id" : 003,
"username" : "txt456",
"full_name" : "Michael Jordon",
"details_list" : [ {
"id" : 1234,
"name" : "First Hand Details",
"role" : {
"type_id" : 3042,
"people_type" : "SuperUser"
}
} ]
}, {
"people_id" : 004,
"username" : "mxn788",
"full_name" : "Paul Walker",
"details_list" : [ {
"id" : 1234,
"name" : "First Hand Details",
"role" : {
"type_id" : 3042,
"people_type" : "SuperUser"
}
} ]
}, {
"people_id" : 005,
"username" : "nhgy234",
"full_name" : "Brad Pitt",
"details_list" : [ {
"id" : 1234,
"name" : "First Hand Details",
"role" : {
"type_id" : 3042,
"people_type" : "SuperUser"
}
} ]
} ]
}

最佳答案

要获得预期结果,请使用以下选项
不需要循环 v,因为它可以通过 .each() 使用,并且它是单个对象并且没有多个对象

$.each(test[0].people_list, function(key, value) {

$.each(value.details_list, function(k,v) {

console.log("Inside Loop:"+v.name);

console.log("Inside Another Loop for Role Name:"+v.role.people_type);

});
});




var test =[{
"webservice_status" : {
"status" : "SUCCESS",
"message" : ""
},
"people_list" : [ {
"people_id" : 001,
"username" : "pxy123",
"full_name" : "James Camerion",
"details_list" : [ {
"id" : 1234,
"name" : "First Hand Details",
"role" : {
"type_id" : 3042,
"people_type" : "SuperUser"
}
} ]
}, {
"people_id" : 002,
"username" : "gbt123",
"full_name" : "Tom Cruise",
"details_list" : [ {
"id" : 1234,
"name" : "First Hand Details",
"role" : {
"type_id" : 3041,
"people_type" : "Normal User"
}
}, {
"id" : 5678,
"name" : "Second Hand Details",
"role" : {
"type_id" : 3042,
"people_type" : "SuperUser"
}
} ]
}, {
"people_id" : 003,
"username" : "txt456",
"full_name" : "Michael Jordon",
"details_list" : [ {
"id" : 1234,
"name" : "First Hand Details",
"role" : {
"type_id" : 3042,
"people_type" : "SuperUser"
}
} ]
}, {
"people_id" : 004,
"username" : "mxn788",
"full_name" : "Paul Walker",
"details_list" : [ {
"id" : 1234,
"name" : "First Hand Details",
"role" : {
"type_id" : 3042,
"people_type" : "SuperUser"
}
} ]
}, {
"people_id" : 005,
"username" : "nhgy234",
"full_name" : "Brad Pitt",
"details_list" : [ {
"id" : 1234,
"name" : "First Hand Details",
"role" : {
"type_id" : 3042,
"people_type" : "SuperUser"
}
} ]
} ]
}];


$.each(test[0].people_list, function(key, value) {

$.each(value.details_list, function(k,v) {

console.log("Inside Loop:"+v.name);

console.log("Inside Another Loop for Role Name:"+v.role.people_type);

});
});

代码笔: http://codepen.io/nagasai/pen/BzrEVN

输出:

Inside Loop:First Hand Details
Inside Another Loop for Role Name:SuperUser
Inside Loop:First Hand Details
Inside Another Loop for Role Name:Normal User
Inside Loop:Second Hand Details
Inside Another Loop for Role Name:SuperUser
Inside Loop:First Hand Details
Inside Another Loop for Role Name:SuperUser
Inside Loop:First Hand Details
Inside Another Loop for Role Name:SuperUser
Inside Loop:First Hand Details
Inside Another Loop for Role Name:SuperUser

关于javascript - 访问嵌套 json 时未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38961104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com