目前,我正在Servlet中编写一些代码,该Servlet从数据库中获取数据并将其返回给客户端。我遇到的问题是插入我收集的日期数组,并将它们添加到要返回给客户端的JSON对象中。

这是我正在尝试的代码,但它不断出错

dates = ClassdatesDAO.getdate(dates);
ArrayList<String> ClassDates = new ArrayList<String>();
ClassDates = dates.getClassdates();
response.setContentType("application/json");
JSONObject Dates = new JSONObject();
Dates.put("dates", new JSONArray(ClassDates));


在我的IDE中,我通过JSONArray中的ClassDates收到此错误


构造函数JSONArray(ArrayList)未定义

最佳答案

您正在传递ArrayList实例而不是Array。因此,将列表转换为数组,然后将其作为这样的参数传递

Dates.put("dates", new JSONArray(ClassDates.toArray(new String[ClassDates.size()])));


注意:json API具有接受java.util.Collection的方法签名。因此,您正在使用其他一些库或更旧的版本

08-28 08:48