if you want to send jsonObjects from the server (tomcat server)
For server -
jsonObjects creation -
I called toJson() to create jsonObjects , this is an implementation -
final JSONObject arr = new JSONObject(); for (int i = 0; i < contactStatus.size(); i++) { ContactStatus contactObject = contactStatus.get(i); try { arr.put(String.valueOf(i), toJson(value1, value2,, value3)); } catch (JSONException e) { catch block e.printStackTrace(); } } //Here we serialize the stream to a String. final String output = arr.toString(); response.setContentLength(output.length()); out.print(output);//out is object of servlet output stream. public static Object toJsonForContact(String value1, boolean value2, double value3) throws JSONException { JSONObject contactObject = new JSONObject(); contactObject.put("id", id); contactObject.put("status", value1); contactObject.put("distance", value2); contactObject.put("relation", value3); return contactObject; }
so that your jsonObjects ready to send, we write these objects to ServletoutputStream .
on the client side -
while ((ReadResponses = in.readLine()) != null) { Constants.Response_From_server = ReadResponses; if (Constants.Response_From_server.startsWith("{")) { ListOfContactStatus = new ArrayList<ContactStatus>(); ContactStatus contactStatusObject; try { JSONObject json = new JSONObject(Constants.Response_From_server); for (int i = 0; i < json.length(); i++) { contactStatusObject = new ContactStatus(); JSONObject json1 = json.getJSONObject(String.valueOf(i)); System.out.println("" + json1.getString("id")); System.out.println("" + json1.getBoolean("status")); System.out.println("" + json1.getDouble("distance")); contactStatusObject.setId(json1.getString("id")); contactStatusObject.setStatus(json1.getBoolean("status")); contactStatusObject.setDistance((float) json1.getDouble("distance")); ListOfContactStatus.add(contactStatusObject); System.out.println("HTTPTransport:sendMessage Size of ListOfContactStatus" + ListOfContactStatus.size()); } } catch (JSONException e) {
source share