zx18722159706 2017-07-09 16:03 采纳率: 25%
浏览 915
已结题

java怎么写一个serlvet对数据库表返回的json数据按表的某一个字段分类

直接返回数据库表字段的代码


                    Statement stmt = connect.createStatement(); //创建Statement对象
                    String sql;

                    sql = "SELECT * FROM autobrand order by FirstLetter";
                    ResultSet rs = stmt.executeQuery(sql);
                    JSONArray jsonarray = new JSONArray();  
                    JSONObject jsonobj = new JSONObject(); 
                    // 展开结果集数据库
                    while(rs.next()){
                        // 通过字段检索 
                        jsonobj.put("BrandId", rs.getString("BrandId"));  
                        jsonobj.put("FirstLetter", rs.getString("FirstLetter"));  
                        jsonobj.put("Brand", rs.getString("Brand"));
                        jsonobj.put("Logo", rs.getString("Logo"));  

                        jsonarray.add(jsonobj);             
                      }
                    // 输出数据


                    out = response.getWriter();

                    out.println(jsonarray);
                    // 完成后关闭
                    rs.close();   
                    stmt.close();   
                    connect.close();                  
                 }catch (Exception e) { 
                      out.print("get data error!"); 
                      e.printStackTrace(); }

返回的json数据类似于

 [{"Group":1,"Groupheader":"质量管理","Leftimg":"","Left":"","Min":"","Right":"","Rightimg":""},  
{"Group":1,"Groupheader":"","Leftimg":"","Left":"","Min":"质量巡检","Right":"","Rightimg":""},  
{"Group":2,"Groupheader":"设备管理","Leftimg":"","Left":"","Min":"","Right":"","Rightimg":""},  
{"Group":2,"Groupheader":"","Leftimg":"","Left":"","Min":"设备专业点检","Right":"","Rightimg":""},  
{"Group":2,"Groupheader":"","Leftimg":"","Left":"","Min":"设备日检","Right":"","Rightimg":""},  
{"Group":2,"Groupheader":"","Leftimg":"","Left":"","Min":"设备周检","Right":"","Rightimg":""},  
{"Group":2,"Groupheader":"","Leftimg":"","Left":"","Min":"设备月检".jpg"}]

想要实现的是返回

 [  
    {  
        "Group": 1,  
        "data": [  
            {  
                "Group": 1,  
                "Groupheader": "质量管理",  
                "Leftimg": "",  
                "Left": "",  
                "Min": "",  
                "Right": "",  
                "Rightimg": ""  
            },  
            {  
                "Group": 1,  
                "Groupheader": "",  
                "Leftimg": "",  
                "Left": "",  
                "Min": "质量巡检",  
                "Right": "",  
                "Rightimg": ""  
            }  
        ]  
    },  
    {  
        "Group": 2,  
        "data": [  
            {  
                "Group": 2,  
                "Groupheader": "设备管理",  
                "Leftimg": "",  
                "Left": "",  
                "Min": "",  
                "Right": "",  
                "Rightimg": ""  
            },  
            {  
                "Group": 2,  
                "Groupheader": "",  
                "Leftimg": "",  
                "Left": "",  
                "Min": "设备专业点检",  
                "Right": "",  
                "Rightimg": ""  
            },  
            {  
                "Group": 2,  
                "Groupheader": "",  
                "Leftimg": "",  
                "Left": "",  
                "Min": "设备日检",  
                "Right": "",  
                "Rightimg": ""  
            },  
            {  
                "Group": 2,  
                "Groupheader": "",  
                "Leftimg": "",  
                "Left": "",  
                "Min": "设备周检",  
                "Right": "",  
                "Rightimg": ""  
            },  
            {  
                "Group": 2,  
                "Groupheader": "",  
                "Leftimg": "",  
                "Left": "",  
                "Min": "设备月检",  
                "Right": "",  
                "Rightimg": ""  
            }  
        ]  
    }  
]  

请贴出具体java方法代码

  • 写回答

4条回答 默认 最新

  • 骑着蜗牛去爬山 2017-07-10 01:32
    关注

    方法1:直接用sql实现json的拼接
    方法2:读取时按group排序,然后遍历数组

    评论

报告相同问题?

悬赏问题

  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
  • ¥15 NX MCD仿真与博途通讯不了啥情况
  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改