Java JSON 的结果集按列输出

Java resultset column-wise output for JSON

我有一个

ResultSet rs = sql.getData(con, query);

两列多行。我想将数据作为 JSON 样式输出中的输出,例如:

x: [1, 2, 3, 4],

y: [2.37, 2.16, 4.82, 1.73],

所以,我想先将column1的数据写入第一行"x",然后将第二column2写入y。

我找到的所有关于迭代结果集数据的文档都是按行的,就像 HTML table 输出一样

    while (rs.next()) {
        out.append("<tr>");
        for (int col = 1; col < rsMeta.getColumnCount() + 1; col++) {
            out.append("<td>");
            out.append(rs.getString(col));
            out.append("</td>");
        }
        out.append("</tr>");
        cnt++;
    }

您需要恰好迭代 ResultSet 一次,但由于您希望按列而不是按行来获取值,因此需要将它们存储在 List 个对象中。

像这样:

List<Integer> x = new ArrayList<>();
List<Double> y = new ArrayList<>();
while (rs.next()) {
    x.add(rs.getInt(1));
    y.add(rs.getDouble(2));
}
System.out.println("x: " + x + ",");
System.out.println("y: " + y + ",");