zoukankan      html  css  js  c++  java
  • Servlet从数据库取数据打包成json然后传值到前端

          后端用get或者post从数据库取的数据如何打包成json:

       需要下载json的jar包,这里有:http://download.csdn.net/detail/zhangy0329/607838

            Connection ct = null;  
            Statement  sm = null;  
            ResultSet rs = null;
              try{     
                Class.forName("com.mysql.jdbc.Driver");     //连接mysql数据库 
                ct = DriverManager.getConnection("jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf-8","用户名"              , "密码");
                sm = ct.createStatement();
                rs = sm.executeQuery("select *from 表名");
               
                JSONArray jsonData = JSONArray.fromObject(convertList(rs));      //先转成List格式,再转成json格式
    
                System.out.println(jsonData.toString());
    PrintWriter out
    = response.getWriter(); //把json数据传递到前端,记着前端用ajax接收 out.print(jsonData); } catch(Exception ex) { //error 代码 }

      数据库取的数据转成List的操作函数:

        private static List convertList(ResultSet rs) throws SQLException {
            List list = new ArrayList();
            ResultSetMetaData md = rs.getMetaData();
            int columnCount = md.getColumnCount();
            while (rs.next()) {
                Map rowData = new HashMap();
                for (int i = 1; i <= columnCount; i++) {
                    rowData.put(md.getColumnName(i), rs.getObject(i));
                }
                list.add(rowData);
            }
            return list;
        }

           前端使用jQuery解析json:

               success : function(Result)
               {
       //Result是jsonArray字符串 $.each(eval(Result),
    function (index, item) { //index为序号,相对于json格式的Result而言,从0,1,2,3...到Result的长度减1,item就是每条jsonObject,
                 //取值就是:item.属性名,如item.name, item.id, item.number.....
    }); },
    既然选择了远方,便只顾风雨兼程
  • 相关阅读:
    java基础 类 & 继承
    java基础之 hashmap
    tomcat 详解
    hash算法
    素数
    『战略游戏 最大利润 树形DP』
    『宝藏 状态压缩DP NOIP2017』
    『玩具装箱TOY 斜率优化DP』
    『数组的最大代价 贪心优化DP』
    『最大M子段和 线性DP』
  • 原文地址:https://www.cnblogs.com/Forever-Road/p/6107031.html
Copyright © 2011-2022 走看看