将JsonObject存储到JsonArray& JsonException错误消息

时间:2014-11-03 12:13:48

标签: java mysql json arrays jsonobject

我在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将收到未解析类型的错误消息。

提前致谢。

enter image description here

1 个答案:

答案 0 :(得分:0)

您导入了错误的库。你正在编写org.json库的代码,而不是json-simple。

上面的链接会带你到Maven仓库,如果你正在使用Maven,你可以从中导入你的项目,或者只是下载jar。