在Java中,SQL是最常用的數據庫查詢語言,而JSON是一種流行的數據交換格式。需要將SQL查詢結果轉換為JSON格式時,可以使用Java中的一些現成的庫。
一個常用的庫是Google的Gson庫,它可以將Java對象轉換為JSON格式,我們可以利用這個庫將查詢結果轉換為Java對象,再將Java對象轉換為JSON格式。以下是一個示例代碼:
public static String queryToJson(Connection conn, String query) throws SQLException { List<Map<String, Object>> data = new ArrayList<>(); try (PreparedStatement stmt = conn.prepareStatement(query)) { try (ResultSet rs = stmt.executeQuery()) { ResultSetMetaData md = rs.getMetaData(); while (rs.next()) { Map<String, Object> row = new LinkedHashMap<>(); for (int i = 1; i <= md.getColumnCount(); i++) { row.put(md.getColumnName(i), rs.getObject(i)); } data.add(row); } } } Gson gson = new GsonBuilder().setPrettyPrinting().create(); return gson.toJson(data); }
以上代碼將數據庫連接對象和SQL查詢語句作為參數,返回一個JSON格式的字符串。該函數的實現過程中,首先建立一個列表data用于存儲查詢結果。接著利用Java的JDBC API執行SQL查詢語句,將查詢結果存儲到data列表中。最后利用Gson庫將data列表轉換為JSON格式,實現了SQL查詢結果轉換為JSON格式的功能。
除了Google的Gson庫,還有其他一些庫用于實現這個功能,例如Jackson庫可以將Java對象轉換為JSON格式。選擇合適的庫取決于應用的具體需求。