Java如何GET请求api窗口并解析返回的JSON数据?
时间: 2024-02-11 14:08:51 浏览: 23
Java可以使用HttpURLConnection或者HttpClient库来发送HTTP请求获取API数据,并使用JSON库解析返回的JSON数据。
使用HttpURLConnection发送GET请求的示例代码如下:
```java
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
// 发送HTTP GET请求获取API数据
public String getApiData(String url) {
StringBuilder result = new StringBuilder();
try {
URL apiUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) apiUrl.openConnection();
conn.setRequestMethod("GET");
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = rd.readLine()) != null) {
result.append(line);
}
rd.close();
} catch (Exception e) {
e.printStackTrace();
}
return result.toString();
}
```
使用JSON库解析返回的JSON数据的示例代码如下:
```java
import org.json.JSONArray;
import org.json.JSONObject;
// 解析返回的JSON数据
public void parseJson(String jsonData) {
JSONObject jsonObj = new JSONObject(jsonData);
int code = jsonObj.getInt("code");
String message = jsonObj.getString("message");
JSONArray data = jsonObj.getJSONArray("data");
for(int i=0;i<data.length();i++){
JSONObject obj = data.getJSONObject(i);
String name = obj.getString("name");
int age = obj.getInt("age");
System.out.println(name + "," + age);
}
}
```
其中,`getApiData`方法用于发送GET请求获取API数据,`parseJson`方法用于解析返回的JSON数据。请根据API的具体情况进行调整。