用java怎么获得get请求返回的结果中result对象并转换为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/4Kf 著作权归作者所有。请勿转载和采集!