ResultSet转json

转载:https://www.javaroad.cn/articles/2192

工具类:

public static JSONArray convert( ResultSet rs )
		throws SQLException, JSONException
	{
		JSONArray json = new JSONArray();
		ResultSetMetaData rsmd = rs.getMetaData();

		while(rs.next()) {
			int numColumns = rsmd.getColumnCount();
			JSONObject obj = new JSONObject();

			for (int i=1; i<numColumns+1; i++) {
				String column_name = rsmd.getColumnName(i);

				if(rsmd.getColumnType(i)==java.sql.Types.ARRAY){
					obj.put(column_name, rs.getArray(column_name));
				}
				else if(rsmd.getColumnType(i)==java.sql.Types.BIGINT){
					obj.put(column_name, rs.getInt(column_name));
				}
				else if(rsmd.getColumnType(i)==java.sql.Types.BOOLEAN){
					obj.put(column_name, rs.getBoolean(column_name));
				}
				else if(rsmd.getColumnType(i)==java.sql.Types.BLOB){
					obj.put(column_name, rs.getBlob(column_name));
				}
				else if(rsmd.getColumnType(i)==java.sql.Types.DOUBLE){
					obj.put(column_name, rs.getDouble(column_name));
				}
				else if(rsmd.getColumnType(i)==java.sql.Types.FLOAT){
					obj.put(column_name, rs.getFloat(column_name));
				}
				else if(rsmd.getColumnType(i)==java.sql.Types.INTEGER){
					obj.put(column_name, rs.getInt(column_name));
				}
				else if(rsmd.getColumnType(i)==java.sql.Types.NVARCHAR){
					obj.put(column_name, rs.getNString(column_name));
				}
				else if(rsmd.getColumnType(i)==java.sql.Types.VARCHAR){
					obj.put(column_name, rs.getString(column_name));
				}
				else if(rsmd.getColumnType(i)==java.sql.Types.TINYINT){
					obj.put(column_name, rs.getInt(column_name));
				}
				else if(rsmd.getColumnType(i)==java.sql.Types.SMALLINT){
					obj.put(column_name, rs.getInt(column_name));
				}
				else if(rsmd.getColumnType(i)==java.sql.Types.DATE){
					obj.put(column_name, rs.getDate(column_name));
				}
				else if(rsmd.getColumnType(i)==java.sql.Types.TIMESTAMP){
					obj.put(column_name, rs.getTimestamp(column_name));
				}
				else{
					obj.put(column_name, rs.getObject(column_name));
				}
			}
			json.put(obj);
		}
		return json;
	}

调用并转换为List:

JSONArray convert = null;
while (rs.next()) {
	convert = ResultSetToJSON.convert(rs);
}
List<PBICommonlyDTO> pbiCommonlyDTOS = JSON.parseArray(convert.toString(), PBICommonlyDTO.class);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ResultSet 换为 JSON 可以通过以下步骤完成: 1. 首先,创建一个包含 ResultSet 数据的 ArrayList。 2. 将 ResultSet 中的每一行数据换为一个 HashMap 对象。 3. 将每个 HashMap 对象添加到 ArrayList 中。 4. 使用 JSON 库将 ArrayList 换为 JSON 字符串。 以下是一个示例代码: ```java import org.json.JSONArray; import org.json.JSONObject; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; public class ResultSetToJson { public static JSONArray convert(ResultSet resultSet) throws Exception { JSONArray jsonArray = new JSONArray(); ResultSetMetaData metaData = resultSet.getMetaData(); int columns = metaData.getColumnCount(); while (resultSet.next()) { Map<String, Object> map = new HashMap<String, Object>(); for (int i = 1; i <= columns; i++) { String columnName = metaData.getColumnName(i); Object columnValue = resultSet.getObject(columnName); map.put(columnName, columnValue); } jsonArray.put(map); } return jsonArray; } public static void main(String[] args) throws Exception { // TODO: Replace with your SQL query and connection details ResultSet resultSet = MyDbConnection.executeQuery("SELECT * FROM my_table"); JSONArray jsonArray = ResultSetToJson.convert(resultSet); String jsonString = jsonArray.toString(); System.out.println(jsonString); } } ``` 其中,MyDbConnection.executeQuery() 是自定义方法,用于执行 SQL 查询并返回 ResultSet 对象。你需要根据自己的数据库连接方式进行修改。 上述代码中,我们使用了 JSON 库中的 JSONArray 和 JSONObject 类来创建 JSON 数据。在循环中,我们将每一行 ResultSet 换为一个 HashMap 对象,并将其添加到 JSON 数组中。最后,我们将 JSON 数组换为字符串并打印出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值