Java数据库ResultSet转json实现

简介: 现在有很多json相关的Java工具,如json-lib、gson等,它们可以直接把JavaBean转换成json格式。 在开发中,可能会从数据库中获取数据,希望直接转成json数组,中间不通过bean。

现在有很多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?在CODE上查看代码片派生到我的代码片

  1. public String resultSetToJson(ResultSet rs) throws SQLException,JSONException  
  2. {  
  3. // json数组
  4.    JSONArray array = new JSONArray();  
  5. // 获取列数
  6.    ResultSetMetaData metaData = rs.getMetaData();  
  7. int columnCount = metaData.getColumnCount();  
  8. // 遍历ResultSet中的每条数据
  9. while (rs.next()) {  
  10.         JSONObject jsonObj = new JSONObject();  
  11. // 遍历每一列
  12. for (int i = 1; i <= columnCount; i++) {  
  13.             String columnName =metaData.getColumnLabel(i);  
  14.             String value = rs.getString(columnName);  
  15.             jsonObj.put(columnName, value);  
  16.         }   
  17.         array.put(jsonObj);   
  18.     }  
  19. 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

若转载请注明出处!若有疑问,请回复交流!
目录
相关文章
|
29天前
|
Java 数据库连接 数据库
hibernate正向生成数据库表以及配置——TestStu.java
hibernate正向生成数据库表以及配置——TestStu.java
16 1
|
29天前
|
Java 数据库连接 数据库
hibernate正向生成数据库表以及配置——Teacher.java
hibernate正向生成数据库表以及配置——Teacher.java
11 0
|
29天前
|
Java 数据库连接 数据库
hibernate正向生成数据库表以及配置——Student.java
hibernate正向生成数据库表以及配置——Student.java
10 0
|
1月前
|
JSON 前端开发 JavaScript
|
21天前
|
存储 NoSQL Java
Java数据库编程指南:实现高效数据存储与访问
【4月更文挑战第2天】Java开发者必须掌握数据库编程,尤其是JDBC,它是连接数据库的标准接口。使用Spring JDBC或JPA能简化操作。选择合适的JDBC驱动,如MySQL Connector/J,对性能至关重要。最佳实践包括事务管理、防SQL注入、优化索引和数据库设计。NoSQL数据库如MongoDB也日益重要,Java有对应的驱动支持。理解这些概念和技术是构建高效数据库应用的基础。
Java数据库编程指南:实现高效数据存储与访问
|
7天前
|
SQL 缓存 Java
Java数据库连接池:优化数据库访问性能
【4月更文挑战第16天】本文探讨了Java数据库连接池的重要性和优势,它能减少延迟、提高效率并增强系统的可伸缩性和稳定性。通过选择如Apache DBCP、C3P0或HikariCP等连接池技术,并进行正确配置和集成,开发者可以优化数据库访问性能。此外,批处理、缓存、索引优化和SQL调整也是提升性能的有效手段。掌握数据库连接池的使用是优化Java企业级应用的关键。
|
15天前
|
XML JSON JavaScript
Java中XML和JSON的比较与应用指南
本文对比了Java中XML和JSON的使用,XML以自我描述性和可扩展性著称,适合结构复杂、需验证的场景,但语法冗长。JSON结构简洁,适用于轻量级数据交换,但不支持命名空间。在Java中,处理XML可使用DOM、SAX解析器或XPath,而JSON可借助GSON、Jackson库。根据需求选择合适格式,注意安全、性能和可读性。
25 0
|
20天前
|
XML JSON JavaScript
使用JSON和XML:数据交换格式在Java Web开发中的应用
【4月更文挑战第3天】本文比较了JSON和XML在Java Web开发中的应用。JSON是一种轻量级、易读的数据交换格式,适合快速解析和节省空间,常用于API和Web服务。XML则提供更强的灵活性和数据描述能力,适合复杂数据结构。Java有Jackson和Gson等库处理JSON,JAXB和DOM/SAX处理XML。选择格式需根据应用场景和需求。
|
1月前
|
Java 数据库
java面向对象高级分层实例_数据库操作类
java面向对象高级分层实例_数据库操作类
11 1
|
1月前
|
SQL Java 关系型数据库
在Python中编写Java数据库驱动是不可能的
在Python中编写Java数据库驱动是不可能的