目前,我正在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
的方法签名。因此,您正在使用其他一些库或更旧的版本