如果 item.NestObj.textpropertyVal
不正确,我应该如何调用它们?
success: function(data){
var html = "";
$.each(data.mainOutterObj, function (index, item) {
html += "<ul>";
console.log(item);
//$.each(item.data, function (index1, item1) {
html += "<li class='id'>" + item.id + "</li>";
html += "<li class='title'>" + item.title + "</li>";
html += "<li class='cast'>" + item.cast.name + "</li>";
html += "<li class='genre'>" + item.genre.type + "</li>";
//});
html += "</ul>";
});
一旦我开始尝试访问内部或嵌套对象属性,它们就会报告未定义
。例如,以下 2 个失败。 (输出为 [object Object]
)或未定义。大概是因为我没有以正确的方式访问它。基本上, Actor 和流派是 .mainOutterObj
中的嵌套对象,其中包含我想要的属性值以及诸如 .name
和 .type
之类的字段。
html += "<li class='cast'>" + item.cast.name + "</li>";
html += "<li class='genre'>" + item.genre.type + "</li>";
如何迭代并输出这些值,与外部 obj 属性值相同?
例如,这里是嵌套转换对象的响应,您会注意到 .name
存在。但是当item.cast.name
这样写的时候,就报undefined。
最佳答案
您的cast
是一个只有一个元素的数组。你应该:
html += "<li class='cast'>" + item.cast[0].name + "</li>";
html += "<li class='genre'>" + item.genre[0].type + "</li>";
您必须先访问 cast
的第一个元素(元素 0),然后才能获取属性 name
关于javascript - 迭代嵌套 obj 属性并将其输出到 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47786202/