2016-10-06 39 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 + ",");