我有Json数组如下 .
{
"leader_lessons":{
"lessons":{
"class_sec_data":{
"1":{
"leader_id":"1111",
"leader_school":null,
"leader_std":"Std2",
"leader_section":"B",
"leader_lesson_date":"2018-12-09",
"school_lesson_code":"Std2.2",
"leader_lessonName":"SUM - Mathematics"
},
"2":{
"leader_id":"1111",
"leader_school":null,
"leader_std":"Std2",
"leader_section":"D",
"leader_lesson_date":"2018-12-09",
"school_lesson_code":"Std2.2",
"leader_lessonName":"SUM - Mathematics"
},
"3":{
"leader_id":"1111",
"leader_school":null,
"leader_std":"UKG",
"leader_section":"C",
"leader_lesson_date":"2018-12-09",
"school_lesson_code":"UKG.31",
"leader_lessonName":"Rhymes English"
},
"4":{
"leader_id":"1111",
"leader_school":null,
"leader_std":"UKG",
"leader_section":"D",
"leader_lesson_date":"2018-12-09",
"school_lesson_code":"UKG.31",
"leader_lessonName":"Rhymes English"
},
"5":{
"leader_id":"1111",
"leader_school":null,
"leader_std":"UKG",
"leader_section":"H",
"leader_lesson_date":"2018-12-09",
"school_lesson_code":"UKG.31",
"leader_lessonName":"Rhymes English"
},
"6":{
"leader_id":"1111",
"leader_school":null,
"leader_std":"UKG",
"leader_section":"G",
"leader_lesson_date":"2018-12-09",
"school_lesson_code":"UKG.31",
"leader_lessonName":"Rhymes English"
}
}
},
"dates":[
"2018-12-09",
"2018-12-09"
]
}
}
我必须计算 class_sec_data
的长度,并且在迭代中 i
必须分配给HTML标签,如下所示 .
for(var i = 0; i < school_leader_json.leader_lessons.lessons.class_sec_data.length; i++)
{
counter= counter+1;
$setInnerControlHTML("LD_Class_"+counter, school_leader_json.leader_lessons.lessons.class_sec_data[counter].leader_std);
$setInnerControlHTML("LD_Section_"+counter, school_leader_json.leader_lessons.lessons.class_sec_data[counter].leader_section);
$setInnerControlHTML("LD_Lesson_"+counter, school_leader_json.leader_lessons.lessons.class_sec_data[counter].leader_lessonName);
}
但 school_leader_json.leader_lessons.lessons.class_sec_data.length
未定义 .
2 回答
您正在循环一个对象而不是一个数组 .
数组如下所示:
一个对象看起来像这样:
将对象视为关联数组,即键 - >值对列表 . 这些键称为对象属性 . 在您的情况下,键是“1”,“2”等 .
它的工作原理如下 .