Java 获取 GET 请求结果并转换为 List 类型
可以使用 Java 中的 HttpURLConnection 或者 HttpClient 发送 GET 请求,然后获取返回的结果,将结果转换为 JSON 格式,再将 JSON 格式的结果转换为 List 类型使用。
下面是一个使用 HttpURLConnection 的示例代码:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
public class GetRequestDemo {
public static void main(String[] args) {
String url = 'http://example.com/api/xxx';
String result = sendGetRequest(url);
List<MyObject> list = convertToMyObjectList(result);
// 使用list进行后续操作
}
private static String sendGetRequest(String url) {
try {
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod('GET');
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
return response.toString();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
private static List<MyObject> convertToMyObjectList(String jsonStr) {
List<MyObject> list = new ArrayList<MyObject>();
JSONObject jsonObj = JSON.parseObject(jsonStr);
JSONArray jsonArray = jsonObj.getJSONArray('result');
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject obj = jsonArray.getJSONObject(i);
MyObject myObj = new MyObject();
myObj.setId(obj.getLong('id'));
myObj.setName(obj.getString('name'));
// 将其他属性设置到myObj中
list.add(myObj);
}
return list;
}
}
其中,MyObject 是一个自定义的类,用于表示从 API 中返回的数据对象。
需要注意的是,这里使用了阿里巴巴的 FastJSON 工具类,用于快速将 JSON 格式的字符串转换为 Java 对象。如果你使用的是其他的 JSON 工具类,可以按照工具类的使用方式进行相应的转换。
原文地址: https://www.cveoy.top/t/topic/mrwC 著作权归作者所有。请勿转载和采集!