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 + ",");
我有一个
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 + ",");