目前我有这个代码。
- 它从 url 获取 json
- 对于第一级,我将标题列放在左侧,将数据放在右侧,例如学生信息
对于其他嵌套数据,例如 student.subjects,我使用标题表单键和来自 vals 的数据制作表格
$.getJSON('api/data.json', function(data) { var student = []; $.each(data, function(key, val) { student.push('<tr><td>' +key+'</td><td>' + val + '</td></tr>'); }); var subjects = []; subject.push('<table><tr>'); $.each(data.subject[0], function (key, val) { decision.push('<th>' +key+'</th>'); }); subject.push('</tr><tr>'); $.each(data.subject, function () { mydata = this $.each(mydata, function (key, val) { subject.push('<td>'+val+'</td>'); }); subject.push('</tr><tr>'); }); subject.push('</tr></table>'); $(student.join('')).appendTo('table#student_table'); $(subject.join('')).appendTo('table#subject_table'); });
是否有任何通用方式可以自动检测类似data.subjects
而不是硬编码,以便如果有主题数组,那么它会在其下方添加新的表格行。
这段代码看起来很脏,任何更好的方法