作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
无法打印完整的 JSON 结果。我的程序如下:
我是这个程序的新手。无法找到错误原因。
查询程序如下:
curl -X POST -H
"Content-Type:application/json" --header
'X-Auth-Token:IEkmVGHsa4R3cGPw56MkfQ' -d '{
"sensor_key":"e4aa3e35t675fc57ce81f3dd6e2dcdef492at4f7",
"date_ranges":[{
"from":"2015/04/02 17:05:00",
"to":"2015/04/02 17:10:00"
}],
"time_zone":"Mumbai" ,
"time_format":"str",
"per":"50"
}'
'https://api.datonis.io/api/v2/datonis_query/sensor_event_raw_data
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("sensor_key",message);
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 = "https://api.datonis.io/api/v2/datonis_query/sensor_event_raw_data";
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"));
post.setEntity(entity);
//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();
}
}
最佳答案
试试这个:
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
...
Gson gson = new GsonBuilder().setPrettyPrinting().create();
JsonParser jp = new JsonParser();
JsonElement je = jp.parse(json.toString());
String prettyJsonString = gson.toJson(je);
System.out.println(prettyJsonString);
输出:
{
"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"
}
查看整个代码, here
有关 GSON 库的更多信息,请查看 this
要下载 GSON,请选中 this
关于java - 如何在java中打印完整的json http请求结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39410848/
我是一名优秀的程序员,十分优秀!