我指的是link,但我略微修改了我的方法..
这是我的代码:
public JSONArray generateJSON(ResultSet rs) {
JSONArray respJSON = new JSONArray();
try {
java.sql.ResultSetMetaData rsmd = rs.getMetaData();
int numColumns = rsmd.getColumnCount();
while (rs.next()) {
JSONObject obj = new JSONObject();
for (int i = 1; i < numColumns + 1; i++) {
String columnName = rsmd.getColumnName(i);
if (rsmd.getColumnType(i) == java.sql.Types.ARRAY) {
obj.put(columnName, rs.getArray(i));
} else if (rsmd.getColumnType(i) == java.sql.Types.BIGINT) {
obj.put(columnName, rs.getInt(i));
} else if (rsmd.getColumnType(i) == java.sql.Types.BOOLEAN) {
obj.put(columnName, rs.getBoolean(i));
} else if (rsmd.getColumnType(i) == java.sql.Types.BLOB) {
obj.put(columnName, rs.getBlob(i));
} else if (rsmd.getColumnType(i) == java.sql.Types.DOUBLE) {
obj.put(columnName, rs.getDouble(i));
} else if (rsmd.getColumnType(i) == java.sql.Types.FLOAT) {
obj.put(columnName, rs.getFloat(i));
} else if (rsmd.getColumnType(i) == java.sql.Types.INTEGER) {
obj.put(columnName, rs.getInt(i));
} else if (rsmd.getColumnType(i) == java.sql.Types.NVARCHAR) {
obj.put(columnName, rs.getNString(i));
} else if (rsmd.getColumnType(i) == java.sql.Types.VARCHAR) {
obj.put(columnName, rs.getString(i));
} else if (rsmd.getColumnType(i) == java.sql.Types.TINYINT) {
obj.put(columnName, rs.getInt(i));
} else if (rsmd.getColumnType(i) == java.sql.Types.SMALLINT) {
obj.put(columnName, rs.getInt(i));
} else if (rsmd.getColumnType(i) == java.sql.Types.DATE) {
obj.put(columnName, rs.getDate(i));
} else if (rsmd.getColumnType(i) == java.sql.Types.TIMESTAMP) {
obj.put(columnName, rs.getTimestamp(i));
} else {
obj.put(columnName, rs.getObject(i));
}
}
respJSON.put(obj);
//respJSON.add(obj);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
respJSON.toString();
return respJSON;
System.out.print(respJSON.toString());
}
我的问题是我无法打印json字符串以在控制台中看到它...
我试过respJSON.toString();它似乎没有工作..
你能帮帮我吗? ......谢谢
答案 0 :(得分:4)
respJSON.toString();
return respJSON;
System.out.print(respJSON.toString());
这样做
System.out.print(respJSON.toString());
return respJSON;
答案 1 :(得分:1)
您的程序无法访问print
语句,因为之前有return
语句。如果您使用的是Netbeans
或Eclipse
之类的IDE,则会给您一个明确的警告。