public static String httpGet(String url) {
LogUtils.info("发送get请求url={}",url);
Request requestData = new Request.Builder()
.url(url)
.get()
.build();
Response responseData = null;
String result = "";
try {
OkHttpClient okHttpClient = new OkHttpClient().newBuilder()
.build();
responseData = okHttpClient.newCall(requestData).execute();
result = responseData.body().string();
LogUtils.info("发送post请求url={},返回结果={}",url,result);
return result;
} catch (IOException e) {
LogUtils.error("发送get请求失败url={}",url, e);
}
return null;
}
public Object getTrackList(String loanId) {
MediaType mediaType = MediaType.parse("application/json");
Map param = new HashMap();
param.put("loanId",loanId);
okhttp3.RequestBody body = okhttp3.RequestBody.create(mediaType, param.toString());
Request request = new Request.Builder()
.url("http://getRepays")
.post(body)
.build();
try {
Response response = okHttpClient.newCall(request).execute();
okhttp3.ResponseBody tokenBody = response.body();
JSONObject jsonObject = new JSONObject(tokenBody.string());
String TrackList = jsonObject.optString("list", "");
Map<String, Object> result = JsonUtils.toMap(response.body().string());
Map<String, Object> data = JsonUtils.toMap((String) result.get("list"));
JSONArray listDate = (JSONArray) data.get("list");
if (CollectionUtils.isNotEmpty(listDate)) {
Iterator<Object> iterator = listDate.iterator();
while (iterator.hasNext()) {
com.alibaba.fastjson.JSONObject objList = (com.alibaba.fastjson.JSONObject) iterator.next();
//对象-objList.get("planVoucher").toString()
}
}
} catch (IOException e) {
e.printStackTrace();
}
return "";
}
public class HttpGet {
@Autowired
OkHttpClient okHttpClient;
private static final TypeReference<Map<String, Object>> MAP_TYPE_REFERENCE = new TypeReference<Map<String, Object>>(){} ;
private static final TypeReference<Map<String, String>> MAP_STRING_REFERENCE = new TypeReference<Map<String, String>>(){} ;
public static Map<String, Object> toMap(String json) {
return JSON.parseObject(json, MAP_TYPE_REFERENCE) ;
}
//示例
// public static void main(String[] args) {
// String jsonString = "{\"key\": \"value\"}";
// JSONObject jsonObject = JSONObject.parseObject(jsonString);
// String value = jsonObject.getString("key");
// System.out.println(value);
// }
public Object getTrackList(String loanId) {
MediaType mediaType = MediaType.parse("application/json");
Map param = new HashMap();
param.put("loanId",loanId);
okhttp3.RequestBody body = okhttp3.RequestBody.create(mediaType, param.toString());
Request request = new Request.Builder()
.url("http://getRepays")
.post(body)
.build();
try {
Response response = okHttpClient.newCall(request).execute();
okhttp3.ResponseBody tokenBody = response.body();
// JSONObject jsonObject = new JSONObject(tokenBody.string());
// String TrackList = jsonObject.getString("list", "");
JSONObject jsonObject = JSONObject.parseObject(tokenBody.string());
String TrackList = jsonObject.getString("list");
Map<String, Object> result = toMap(response.body().string());
Map<String, Object> data = toMap((String) result.get("list"));
JSONArray listDate = (JSONArray) data.get("list");
if (CollectionUtils.isNotEmpty(listDate)) {
Iterator<Object> iterator = listDate.iterator();
while (iterator.hasNext()) {
JSONObject objList = (JSONObject) iterator.next();
//对象:objList.get("repayStatus").toString()
}
}
} catch (IOException e) {
e.printStackTrace();
}
return "";
}
public static String httpGet(String url) {
// LogUtils.info("发送get请求url={}",url);
Request requestData = new Request.Builder()
.url(url)
.get()
.build();
Response responseData = null;
String result = "";
try {
OkHttpClient okHttpClient = new OkHttpClient().newBuilder()
.build();
responseData = okHttpClient.newCall(requestData).execute();
result = responseData.body().string();
// LogUtils.info("发送post请求url={},返回结果={}",url,result);
return result;
} catch (IOException e) {
// LogUtils.error("发送get请求失败url={}",url, e);
}
return null;
}
public static void main(String[] args) {
String url= "https://jsonplaceholder.typicode.com/posts";
String s = HttpGet.httpGet(url);
// 将字符串转换为 JSONArray
JSONArray jsonArray = JSON.parseArray(s);
ArrayList<String> list1 = new ArrayList<>();
ArrayList<String> list2 = new ArrayList<>();
Map<Integer, Object> map1 = new HashMap<>();
Map<Integer, Object> map2 = new HashMap<>();
ArrayList<Consult> consults = new ArrayList<>();
// 方式一:遍历 JSONArray 中的每个元素
for (int i = 0; i < jsonArray.size(); i++) {
//获取每个元素
JSONObject item = jsonArray.getJSONObject(i);
// 获取元素的属性
list1.add(item.getString("title"));
map1.put(Integer.parseInt(item.getString("id")),item.getString("title"));
map2.put(Integer.parseInt(item.getString("id")),item);
Consult consult = new Consult();
consult.setTitle(item.getString("id"));
consult.setContent(item.getString("title"));
consults.add(consult);
}
// 方式二:遍历 JSONArray 中的每个元素
if (CollectionUtils.isNotEmpty(jsonArray)) {
Iterator<Object> iterator = jsonArray.iterator();
while (iterator.hasNext()) {
JSONObject objList = (JSONObject) iterator.next();
list2.add(objList.get("id").toString());
}
}
System.out.println("结果list1:"+list1);
System.out.println("结果list2:"+list2);
System.out.println("结果map1:"+map1);
System.out.println("结果map2:"+map2);
}
public static Object testHttp(String url){
String resultStr = httpGet(url);
// 将字符串转换为 Map 对象
Map<String, Object> result = JSON.parseObject(resultStr, Map.class);
//获取集合数据字符串
String listStr = (String) result.get("list");
//集合字符串转为map
Map<String, Object> data = JSON.parseObject(listStr, Map.class);
//核心数据转为集合
JSONArray listDate = (JSONArray) data.get("list");
if (CollectionUtils.isNotEmpty(listDate)) {
//使用迭代器的方式遍历集合
Iterator<Object> iterator = listDate.iterator();
while (iterator.hasNext()) {
//获取当前对象
JSONObject objList = (JSONObject) iterator.next();
// Record record = new Record();
// record .setip(objList.get("id").toString());
}
}
return data;
}
}
依赖
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.14.9</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.78</version>
</dependency>