2016-10-06 22 views
0

我有一个Java的ResultSet列明智输出JSON

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

有两列和几行。我想要得到的数据作为输出的JSON风格输出,如:

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

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

所以,我要写到第一行的“X”,然后第二列2到y列1的第一个数据。

所有文件我找到遍历一个结果的数据是逐行像像

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++; 
    } 
+0

怎么样,你尝试写JSON创建第一一些代码? –

+0

你在谈论JSON,但是在你的代码中你创建了XML(以非常天真的方式)。你想要XML还是JSON?对于这两个应该使用库而不是创建输出格式为文本。 – vanje

+0

我不想在Java中创建JSON对象我只想以JSON方式将其输出为webapp。我已经试过库json-simple,但无法按照我想要的方式输出它。 – tardis

回答

1

HTML表格输出需要迭代的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 + ",");