Java数据库ResultSet转json实现

现在有很多json相关的Java工具,如json-lib、gson等,它们可以直接把JavaBean转换成json格式。

在开发中,可能会从数据库中获取数据,希望直接转成json数组,中间不通过bean。

 

比如进行下面的转换:

 

数据表:

id

name

age

1

xxg

23

2

xiaoming

20

 

转换成json数组:

[

            {

               "id": "1",

                "name":"xxg",

                "age": "23"

            },

            {

               "id": "2",

                "name":" xiaoming",

                "age":"20"

            }

]

 

实现很简单,就是把查询结果ResultSet的每一条数据转换成一个json对象,数据中的每一列的列名和值组成键值对,放在对象中,最后把对象组织成一个json数组。

 

[java]  view plain copy
  1. public String resultSetToJson(ResultSet rs) throws SQLException,JSONException  
  2. {  
  3.    // json数组  
  4.    JSONArray array = new JSONArray();  
  5.     
  6.    // 获取列数  
  7.    ResultSetMetaData metaData = rs.getMetaData();  
  8.    int columnCount = metaData.getColumnCount();  
  9.     
  10.    // 遍历ResultSet中的每条数据  
  11.     while (rs.next()) {  
  12.         JSONObject jsonObj = new JSONObject();  
  13.          
  14.         // 遍历每一列  
  15.         for (int i = 1; i <= columnCount; i++) {  
  16.             String columnName =metaData.getColumnLabel(i);  
  17.             String value = rs.getString(columnName);  
  18.             jsonObj.put(columnName, value);  
  19.         }   
  20.         array.put(jsonObj);   
  21.     }  
  22.     
  23.    return array.toString();  
  24. }  

 

上面的代码只需要用到org.json的jar包,网上随处可下载。


作者:叉叉哥   转载请注明出处:http://blog.csdn.net/xiao__gui/article/details/8612503

你可能感兴趣的:(Java数据库ResultSet转json实现)