芒果味的球 2019-05-18 10:35 采纳率: 76.5%
浏览 657
已采纳

请问java怎么实现后端拼接出复杂json,前端ajax调用,拼接出复杂表格?

因为是复杂json,我有2个或者多个简单javabean类,将多个简单javabean 拼接成json这一步实现不出,
然后我想前端ajax应该能调用后端这个类 把json异步传给前端,但是当前端拿到数据之后,我不知道怎么给表格动态拼接。

表格类似:

姓名 | 性别 | 学科 | 高一上 | 高一下 | 高二上 | 高二下

张三 男 语文 90 80 60 70
数学 90 90 90 90
英语
物理
化学

生物

  • 写回答

3条回答 默认 最新

  • 珍妮玛•黛金 博客专家认证 2019-05-18 12:22
    关注
    
        //例如有一个实体类
        public class StudentGrade{
    
            //姓名
            private String name;
            //姓名(0=男;1=女)
            private Integer sex;
            //学科
            private String subject;
            //高一上学期分数
            private Float lastSemesterFirstGrade;
            //高一下学期分数
            private Float nextSemesterFirstFrade;
            //高二上学期分数
            private Float lastSemesterSecondGrade;
            //高二上学期分数
            private Float nextSemesterSecondFrade;
    
            //get set
        }
    
        @Controller
        @RequestMapping("studentGrade")
        public class StudentGradeController{
    
            @Resource
            private XxxService xxxService;
    
            @RequestMapping(value="/getStudentGradeData",method = RequestMethod.POST)
            public String getStudentGradeData(){
                            //通过接口获取的list数据,然后转json
                List<StudentGrade> list = xxxService.getStudentGradeData();
                JSONArray json = JSONArray.fromObject(list);
                return json.toString();
            }
        }
    
            //ajax
            $.ajax({
                 type: "POST",
                 url: "xx/studentGrade/getStudentGradeData",
                 data: null,
                 dataType: "json",
                 success: function(json){
                            //判断非null非空
                                var list = json;
    
                                var tableHtml = '<table><th><tr></tr>...以此类推</th>';
                                for(var i = 0; i < list.length; i ++){
                                //这里加个判断,0=男,1=女
                                    tableHtml += '<tr><td>' + list[i].name + '</td><td>' + list[i].sex + '...以此类推</td></tr>';
                                }
    
                                tableHtml += '</table>'
    
                                //最后tableHtml就是拼好的 table html,
                 }
             });
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵