Java数据库ResultSet转json实现
2023-09-27 14:25:12 时间
现在有很多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
相关文章
- Java 11 新特性介绍
- Java生态中性能最强数据库连接池HikariCP
- 转载:[Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)
- 大数据-NoSQL数据库-HBase操作框架:Phoenix【Java写的基于JDBC API的操作HBase数据库的SQL引擎框架;低延迟、事务性、可使用sql语句、提供JDBC接口】
- Java架构师-调优(三):数据库监控与调优
- Java从入门到精通——数据库篇Mongo DB GridFS文件系统
- Java 自 定 义 对 象 实 现 去 重
- Java Thread.interrupt 害人! 中断JAVA线程(zz)
- 详解 Java 中 4 种 IO 模型
- Java动态创建MySQL数据库
- Java使用POI导出excel(下)——实例与小技巧
- java ssh框架全局变量,比如ip黑名单,毕竟比去数据库查询要快的没边儿
- Java 虚拟机枚举 GC Roots 解析
- Java分布式锁之数据库实现
- JAVA数据库连接池的革命 -- 从BoneCP到HikariCP(转)
- java 乱码问题-Dfile.encoding=UTF-8
- 【Java】Java-UTC-时间戳处理
- 【基于Java的图书管理系统----课程设计详解(使用MySQL数据库)附全部源代码下载链接、数据流图、流程图等】
- java核心技术卷I中的细节(2- 大数)
- Java 匿名类
- JAVA内嵌数据库H2的使用入门
- Java实现超市管理系统(含数据库)
- Java开源数据库管理工具
- java连接各种数据库代码大全
- 【JDBC】java程序通过jdbc连接oracle数据库方法
- Java使用JDBC DriverManager 接口连接MySQL数据库
- 20.java-JDBC连接mysql数据库详解
- Java学习002之运算符