Ganesh Ravikumar Ganesh Ravikumar - 1 year ago 81
Java Question

how to print complete json http request results in java

Unable to print complete JSON Results. My Program as follows:

Am new to this program. Unable to find the reason for the error.

Query for the program as follows:

curl -X POST -H
"Content-Type:application/json" --header
'X-Auth-Token:IEkmVGHsa4R3cGPw56MkfQ' -d '{
"from":"2015/04/02 17:05:00",
"to":"2015/04/02 17:10:00"
"time_zone":"Mumbai" ,

package IOT;

import java.util.HashMap;
import java.util.Map;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicHeader;
import org.apache.http.protocol.HTTP;
import org.json.JSONObject;
import org.json.JSONArray;

public class HttpPostWithBody {

public static void main(String args[]) {
String Message = "6f2159f998";

try {
new HttpPostWithBody().sendJSONData(Message);
} catch (Exception E) {
System.out.println("Exception Occured. " + E.getMessage());

public String sendJSONData(String message) throws Exception {

//creating map object to create JSON object from it
Map< String, Object >jsonValues = new HashMap< String, Object >();
jsonValues.put("from", "2016/08/29 16:55:00");
jsonValues.put("to", "2016/08/29 17:05:00");
jsonValues.put("time_zone", "Mumbai");
jsonValues.put("per", "50");
jsonValues.put("metrics", "1st data");

JSONObject json = new JSONObject(jsonValues);

String url = "";

DefaultHttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
post.setHeader("Content-Type", "application/json");
post.setHeader("Accept", "application/json");
post.setHeader("X-Auth-Token", "9v8IjBku0a9y-D7SpLq6ZA");

//setting json object to post request.
StringEntity entity = new StringEntity(json.toString(), "UTF8");
entity.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));

//this is your response:

HttpResponse response = client.execute(post);

//JSONObject myObject1 = new JSONObject(response);

JSONArray ja = new JSONArray(response);

//JSONObject jo = ja.getJSONObject();
System.out.println("Response: " + ja.getJSONObject(0));

System.out.println("Response: " + response.getStatusLine());
return response.getStatusLine().toString();

Answer Source

Try this:

Gson gson = new GsonBuilder().setPrettyPrinting().create();
JsonParser jp = new JsonParser();
JsonElement je = jp.parse(json.toString());
String prettyJsonString = gson.toJson(je);


  "sensor_key": "6f2159f998",
  "from": "2016/08/29 16:55:00",
  "to": "2016/08/29 17:05:00",
  "metrics": "1st data",
  "time_zone": "Mumbai",
  "per": "50"

enter image description here

See the whole code, here

For more info about GSON library, check this

To download GSON, check this