resultset转成json字符串
时间: 2024-06-15 07:04:05 浏览: 100
将ResultSet转换为JSON字符串可以通过以下步骤实现:
1. 首先,遍历ResultSet中的每一行数据。
2. 对于每一行数据,创建一个JSONObject对象。
3. 使用ResultSet的getMetaData()方法获取结果集的元数据,然后使用getColumnCount()方法获取列数。
4. 遍历每一列,使用getColumnLabel()方法获取列名,使用getObject()方法获取列值,并将其添加到JSONObject对象中。
5. 将JSONObject对象添加到JSONArray中。
6. 最后,将JSONArray转换为JSON字符串。
下面是一个示例代码:
```java
import org.json.JSONArray;
import org.json.JSONObject;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
public class ResultSetToJsonConverter {
public static String convertToJsonString(ResultSet resultSet) throws SQLException {
JSONArray jsonArray = new JSONArray();
ResultSetMetaData metaData = resultSet.getMetaData();
int columnCount = metaData.getColumnCount();
while (resultSet.next()) {
JSONObject jsonObject = new JSONObject();
for (int i = 1; i <= columnCount; i++) {
String columnName = metaData.getColumnLabel(i);
Object columnValue = resultSet.getObject(i);
jsonObject.put(columnName, columnValue);
}
jsonArray.put(jsonObject);
}
return jsonArray.toString();
}
}
```
使用示例:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Main {
public static void main(String[] args) {
try {
// 假设已经建立了数据库连接
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "username", "password");
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM mytable");
String jsonString = ResultSetToJsonConverter.convertToJsonString(resultSet);
System.out.println(jsonString);
resultSet.close();
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
阅读全文