将列表传递给json对象时,我无法读取所有元素..它只显示我最后存储的列表
List<String> list = new ArrayList<String>();
for (int i=0 ; i<columnCount ; i++)
{
while (rs.next())
{
list.add(rs.getString(rsMetaData.getColumnName(i+1)));
}
json.put(rsMetaData.getColumnName(i+1), list);
//json.accumulate(rsMetaData.getColumnName(i+1), list);
}
答案 0 :(得分:0)
试试这个:
while (rs.next()) {
for (int i=0; i < columnCount; i++) {
String columnName = rsMetaData.getColumnName(i+1);
List<String> list = new ArrayList<String>();
if (json.get(columnName) == null) {
json.put(columnName, list);
} else {
list = (List<String>)json.get(columnName);
}
list.add(rs.getString(columnName));
}
}
BTW:json
不支持重复的columnNames答案 1 :(得分:0)
最后我得到了答案......这是我的代码
试 {HashMap map = new HashMap(); List list = new ArrayList();
int col = 0;
while (rs.next())
{
values = new JSONObject();
for (int i=0 ; i<columnCount ; i++)
{
values.put(rsMetaData.getColumnName(i+1),rs.getString(rsMetaData.getColumnName(i+1)));
}
list.add(col, values.toString());
System.out.println(list.toString());
col++;
}
json.put("gaea", list);
}//try block end