我有这个JSON结构,我试图访问但没有取得多大成功。
{
"COURSEDETAILS": {
"BTR": {
"CDFULLTITLE": "Bachelor of Health Sciences",
},
"BYTR": {
"CDFULLTITLE": "Bachelor of Nursing (Preregistration)",
}
},
"STUDENT": [
{
"WSDCOURSECODE": "BTR",
"WSDSTUDENTID": 123456,
},
{
"WSDSTUDENTID": 123456,
"WSDCOURSECODE": "BYTR",
}
]
}
我可以轻松访问学生部分。但不知道如何为每个情况访问CDFULLTITLE。 我不想使用for循环进行迭代。
每个学生的BHS和BNGU都会发生变化。 ID 234456的学生可能有WSDCOURSECODE = XXXX。
我可以通过data.STUDENT [0] .WSDCOURSECODE访问学生部分的课程代码。但我不知道如何使用它来访问COURSEDETAILS中的CDFULLTITLE。
也许问题是我的结构。请告知更好的方法吗?
有人可以帮忙吗?感谢
答案 0 :(得分:0)
听起来你在问如何循环JavaScript对象中的属性?您可以使用for
- in
并以这种方式访问属性。
var data = {
"COURSEDETAILS": {
"BTR": {
"CDFULLTITLE": "Bachelor of Health Sciences",
},
"BYTR": {
"CDFULLTITLE": "Bachelor of Nursing (Preregistration)",
}
},
"STUDENT": [
{
"WSDCOURSECODE": "BTR",
"WSDSTUDENTID": 123456,
},
{
"WSDSTUDENTID": 123456,
"WSDCOURSECODE": "BYTR",
}
]
};
for (var item in data.COURSEDETAILS) {
document.getElementById('result').innerHTML += data.COURSEDETAILS[item].CDFULLTITLE + "<br/>";
}
&#13;
<div id="result" />
&#13;
答案 1 :(得分:0)
如果我理解正确,这就是你要找的东西:
var json = {
"COURSEDETAILS": {
"BTR": {
"CDFULLTITLE": "Bachelor of Health Sciences",
},
"BYTR": {
"CDFULLTITLE": "Bachelor of Nursing (Preregistration)",
}
},
"STUDENT": [
{
"WSDCOURSECODE": "BTR",
"WSDSTUDENTID": 123456,
},
{
"WSDSTUDENTID": 123456,
"WSDCOURSECODE": "BYTR",
}
]
};
for (var i in json.STUDENT) {
var student = json.STUDENT[i];
var fulltitle = json.COURSEDETAILS[student.WSDCOURSECODE].CDFULLTITLE;
//use the title or the student
console.log(student, fulltitle);
}
答案 2 :(得分:0)
这解决了我的问题。
data.COURSEDETAILS[data.STUDENT[0].WSDCOURSECODE].CDFULLTITLE
感谢那些花时间阅读/回复的人。 :)