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

请问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 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用