Cách lấy dữ liệu JSON từ API bằng Java
Hướng dẫn này sẽ chỉ bạn cách sử dụng Java để gửi yêu cầu GET đến API và đọc dữ liệu JSON trả về bằng cách sử dụng HttpURLConnection
.
rong bài viết này, chúng ta sẽ sử dụng lớp HttpURLConnection
có sẵn trong Java để gửi yêu cầu GET đến API và xử lý dữ liệu JSON trả về một cách chi tiết.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class GetJsonFromAPI {
public static void main(String[] args) {
try {
// Địa chỉ API
String apiUrl = "https://api.example.com/data";
// Tạo một đối tượng URL
URL url = new URL(apiUrl);
// Mở kết nối
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// Thiết lập phương thức yêu cầu là GET
connection.setRequestMethod("GET");
// Kiểm tra mã trạng thái phản hồi
int responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
// Đọc dữ liệu JSON trả về
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
// Hiển thị dữ liệu JSON
System.out.println("Dữ liệu JSON: " + response.toString());
} else {
System.out.println("Yêu cầu không thành công. Mã lỗi: " + responseCode);
}
// Đóng kết nối
connection.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Giải thích chi tiết từng dòng code
import java.io.BufferedReader; import java.io.InputStreamReader;
: Nhập các lớp cần thiết để đọc dữ liệu từ API.import java.net.HttpURLConnection; import java.net.URL;
: Nhập các lớp cần thiết để tạo kết nối đến URL của API.URL url = new URL(apiUrl);
: Tạo đối tượng URL với đường dẫn của API.HttpURLConnection connection = (HttpURLConnection) url.openConnection();
: Mở kết nối đến URL.connection.setRequestMethod("GET");
: Đặt phương thức yêu cầu HTTP là GET.int responseCode = connection.getResponseCode();
: Lấy mã trạng thái phản hồi từ máy chủ.BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
: Đọc dữ liệu JSON trả về từ phản hồi của API.System.out.println("Dữ liệu JSON: " + response.toString());
: Hiển thị dữ liệu JSON trả về từ API.
Yêu cầu hệ thống
- Phiên bản Java: 8 trở lên
Lời khuyên
- Luôn kiểm tra mã trạng thái phản hồi từ máy chủ để xử lý các tình huống lỗi.
- Khi làm việc với dữ liệu JSON phức tạp, hãy xem xét sử dụng các thư viện như
org.json
hoặcGson
để xử lý JSON.