一、返回的Json数据信息格式
json
{
"code":200,
"msg":"查询成功",
"data":[{
"name":"张三"
},{
"name":"李四"
}]
}
二、解析
引用的是
java
import cn.hutool.json.JSONObject;
判断如果code为200则证明数据返回成功,然后获取data中的value数据。
java
// 解析JSON字符串
JSONObject jsonObject = new JSONObject(jsonString);
获取data数据
java
// 获取data数组
JSONArray dataArray = jsonObject.getJSONArray("data");
这样就可以获取data中的数据了。
如果想要将data中的数据变成集合
java
JSONArray jsonArray = new JSONArray(data-value);
entityList = jsonArray.toList(实体.class);
就可以啦
三、发送https请求
java
String url = "";
JSONObject json = new JSONObject();
json.put("name","张三");
String jsonString = json.toString();
// httpclient
SSLContext sslcontext = SSLContexts.custom().loadTrustMaterial(new TrustStrategy() {
@Override
public boolean isTrusted(java.security.cert.X509Certificate[] arg0, String arg1)
throws CertificateException {
return true;
}
}).build();
SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslcontext,
new String[]{"TLSv1.2", "TLSv1.1", "SSLv3"}, null, new NoopHostnameVerifier());
CloseableHttpClient httpclient = HttpClients.custom().setSSLSocketFactory(sslsf).build();
HttpPost httpPost = new HttpPost(url);
// 超时时间设置成5s
RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(5000).setConnectTimeout(5000).build();
httpPost.setConfig(requestConfig);
StringEntity entity = new StringEntity(jsonString, ContentType.APPLICATION_JSON);
httpPost.setEntity(entity);
// Create a custom response handler
ResponseHandler<String> responseHandler = new ResponseHandler<String>() {
public String handleResponse(final HttpResponse response) throws ClientProtocolException, IOException {
log.info("response"+response);
int status = response.getStatusLine().getStatusCode();
log.info("status"+status);
if (status >= 200 && status < 300) {
HttpEntity entity = response.getEntity();
String s = EntityUtils.toString(entity);
return s;
} else {
throw new ClientProtocolException("Unexpected response status: " + status);
}
}
};
String execute = httpclient.execute(httpPost, responseHandler);
log.info("--------------------------------------111111111111111111111--------------------");
log.info("responseBody------------>"+execute);
return execute;
JSONObject json = new JSONObject();
可以组装成Json数据