Java数据库ResultSet转json实现

it2024-12-28  18

现在有很多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 plaincopyprint?

public String resultSetToJson(ResultSet rs) throws SQLException,JSONException   {   // json数组    JSONArray array = new JSONArray();   // 获取列数    ResultSetMetaData metaData = rs.getMetaData();   int columnCount = metaData.getColumnCount();   // 遍历ResultSet中的每条数据 while (rs.next()) {           JSONObject jsonObj = new JSONObject();   // 遍历每一列 for (int i = 1; i <= columnCount; i++) {               String columnName =metaData.getColumnLabel(i);               String value = rs.getString(columnName);               jsonObj.put(columnName, value);           }            array.put(jsonObj);        }   return array.toString();   }  public String resultSetToJson(ResultSet rs) throws SQLException,JSONException { // json数组 JSONArray array = new JSONArray(); // 获取列数 ResultSetMetaData metaData = rs.getMetaData(); int columnCount = metaData.getColumnCount(); // 遍历ResultSet中的每条数据 while (rs.next()) { JSONObject jsonObj = new JSONObject(); // 遍历每一列 for (int i = 1; i <= columnCount; i++) { String columnName =metaData.getColumnLabel(i); String value = rs.getString(columnName); jsonObj.put(columnName, value); } array.put(jsonObj); } return array.toString(); }

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

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

转载于:https://www.cnblogs.com/jym-sunshine/p/4800565.html

相关资源:数据结构—成绩单生成器
最新回复(0)