我在Java Web服务中尝试将从MySQL中获取的数据作为JSON返回时遇到了一些问题:
public String getAllEvent() {
JSONArray jsonArray = new JSONArray();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost/mydb", "root", "root");
PreparedStatement statement = con
.prepareStatement("SELECT * FROM event");
ResultSet result = statement.executeQuery();
while (result.next()) {
JSONObject eventInfo = new JSONObject();
eventInfo.put("eventID", result.getString("eventID"));
eventInfo.put("eventName", result.getString("eventName"));
eventInfo.put("eventDesc", result.getString("eventDesc"));
eventInfo.put("eventDate", result.getString("eventDate"));
eventInfo.put("eventTime", result.getString("eventTime"));
eventInfo.put("eventX", result.getString("eventX"));
eventInfo.put("eventY", result.getString("eventY"));
eventInfo.put("eventBy", result.getString("eventBy"));
jsonArray.put(eventInfo);
}
String jsonStr = jsonArray.toString();
return jsonStr;
}
catch (JSONException je) {
return null;
} catch (Exception exc) {
System.out.println(exc.getMessage());
}
return jsonArray.toString();
}
有两条错误消息,一条在 jsonArray.put(eventInfo); ,错误消息:
The method put(JSONObject) is undefined for the type JSONArray
另一个是JSONException:
JSONException cannot be resolved to a type
有什么想法吗?我将json-simple-1.1.jar作为外部库导入到我的项目中,如果不是,JSONObject将收到未解析类型的错误消息。
提前致谢。
答案 0 :(得分:0)
您导入了错误的库。你正在编写org.json库的代码,而不是json-simple。
上面的链接会带你到Maven仓库,如果你正在使用Maven,你可以从中导入你的项目,或者只是下载jar。