简体   繁体   中英

how do i add String array to JSON

I am currently writing some code in a servlet that gets data from the database and returns it to the client. What I am having problems with is inserting the array of dates I have collected and adding them to my JSON object that I will return to the client.

Here is the code I'm trying but it keeps giving errors

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));

In my IDE I get this error over the ClassDates in the JSONArray

The constructor JSONArray(ArrayList) is undefined

You are passing ArrayList instance instead of an Array . So, convert the list into an array and then pass it as an argument like this

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

Note : json API has a method signature accepting java.util.Collection . So, you are using some other library or older version

      JSONObject Dates = new JSONObject();
      JSONArray datesJSONArray = new JSONArray();
      for (String date : ClassDates)
          datesJSONArray.put(date);
      try {
        Dates.put("dates", datesJSONArray);
      } catch (JSONException e) {
        e.printStackTrace();
      }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM