在進行Java開發中,很多時候需要將SQL查詢結果轉為JSON格式。在這篇文章中,我們將介紹如何使用Java代碼將SQL查詢結果轉為JSON格式。
要將SQL結果轉為JSON格式,需要使用Java中的JSON庫。這里我們使用的是Google Gson庫。
import com.google.gson.Gson; import java.sql.*; public class SQLToJson { public static String queryToJSON(Connection con, String query) throws SQLException { Gson gson = new Gson(); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(query); // Create an empty JSON array JSONArray jsonArray = new JSONArray(); // Iterate through the result set while (rs.next()) { // Create a JSON object for each row JSONObject jsonObj = new JSONObject(); // Iterate through the columns ResultSetMetaData rsmd = rs.getMetaData(); int numColumns = rsmd.getColumnCount(); for (int i = 1; i<= numColumns; i++) { String columnName = rsmd.getColumnName(i); Object columnValue = rs.getObject(i); // Add the column to the JSON object jsonObj.put(columnName, columnValue); } // Add the JSON object to the array jsonArray.put(jsonObj); } // Convert the JSON array to a string and return it return gson.toJson(jsonArray); } }
上面的代碼中,我們使用了一個名為queryToJSON的靜態方法,它接受一個數據庫連接和一個SQL查詢字符串作為參數,并返回一個JSON字符串。該方法使用Statement對象執行查詢,并將結果集迭代為一個JSON數組中的JSON對象。
最終,在我們的Java代碼中使用上述的方法,將SQL查詢結果轉為JSON格式:
Connection con = DriverManager.getConnection(url); String query = "SELECT * FROM my_table"; String json = SQLToJson.queryToJSON(con, query); System.out.println(json);
在上述代碼中,我們創建了一個數據庫連接,然后執行了查詢,并使用SQLToJson類的queryToJSON方法將結果轉為JSON格式。最后,我們將結果打印到控制臺。
可以看到,使用Java將SQL查詢結果轉為JSON格式非常容易。只需使用Gson庫的JSON功能和一些簡單的循環和條件語句即可實現。