gpt4 book ai didi

javascript - 使用 Jquery 访问 JSON 解码中的第二个数组

转载 作者:行者123 更新时间:2023-12-03 11:24:53 25 4
gpt4 key购买 nike

我需要从 JSON 解码 字符串访问第二个数组,但我没有运气。

整个 JSON 字符串显示在 var RAW00 中,然后拆分为 var RAW01var RAW02。所有这 3 个都是用于测试 - RAW00 与 msg 相同

当它们被分割时 - 我可以访问其中一个,具体取决于我从什么变量开始,但是当我使用RAW00时,我无法访问导师部分。

如果需要,我会提供更多详细信息,但我的问题是:

如何查看和访问第二个 $.each(嵌套) block 中的导师数组?]

谢谢:-)

success: function(msg)
{
var test = "";
var raw00 = {
"allData": [
{
"class2": [
{
"tid": "1",
"name": "Monday 2"
},
{
"tid": "1",
"name": "Monday Test"
}
]
},
{
"tutor": [
{
"fname": "Jeffrey",
"lname": "Kranenburg"
},
{
"fname": "Jeffrey",
"lname": "Kranenburg"
}
]
}
]
};

var raw01 = {
"allData": [
{
"class2": [
{
"tid": "1",
"name": "Monday 2"
},
{
"tid": "1",
"name": "Monday Test"
}
]
}
]
};
var raw02 = {
"allData": [
{
"tutor": [
{
"fname": "Jeffrey",
"lname": "Kranenburg"
},
{
"fname": "Jeffrey",
"lname": "Kranenburg"
}
]
}
]
};

$.each(raw00.allData, function(index, entry)
{
$.each(entry.class2, function (index, data)
{
console.log(this.name);
test += '<tr><td>'+this.name+'</td>';
});

$.each(entry.tutor, function (index, data)
{
console.log(this.fname);
test += '<td>'+this.name+'</td></tr>';
});

$('#all-courses-table-content').html( test );
});

最佳答案

您需要检查数组的当前元素是否是具有 class2 属性或 tutor 属性的对象。

$.each(raw00.allData, function(index, entry) {  
if (entry.hasOwnProperty('class2')) {
$.each(entry.class2, function (index, data)
{
console.log(this.name);
test += '<tr><td>'+this.name+'</td>';
});
}

if (entry.hasOwnProperty('tutor')) {
$.each(entry.tutor, function (index, data)
{
console.log(this.fname);
test += '<td>'+this.fname+'</td></tr>';
});
}

$('#all-courses-table-content').html( test );
});

如果您重新设计数据结构,事情可能会更简单。当每个对象只有一个键并且每个对象都不同时,拥有一个对象数组通常没有意义。我建议您将 allData 数组替换为单个对象,如下所示:

var raw00 = {
"allData": {
"class2": [
{
"tid": "1",
"name": "Monday 2"
},
{
"tid": "1",
"name": "Monday Test"
}
],
"tutor": [
{
"fname": "Jeffrey",
"lname": "Kranenburg"
},
{
"fname": "Jeffrey",
"lname": "Kranenburg"
}
]
}
};

关于javascript - 使用 Jquery 访问 JSON 解码中的第二个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26963098/

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