Cách get data JSON từ API bằng Node.js
Bài viết này hướng dẫn cách lấy dữ liệu JSON từ API sử dụng module https
trong Node.js, giúp bạn hiểu rõ hơn về cách tương tác với các dịch vụ web.
Trong bài viết này, chúng ta sẽ sử dụng module https
của Node.js để gửi một yêu cầu GET đến một API và xử lý dữ liệu JSON trả về. Đoạn mã sẽ minh họa cách lấy và xử lý dữ liệu một cách đơn giản và chi tiết.
const https = require('https');
// Địa chỉ API
const url = 'https://api.example.com/data';
// Gửi yêu cầu GET
https.get(url, (resp) => {
let data = '';
// Nhận dữ liệu từng đoạn
resp.on('data', (chunk) => {
data += chunk;
});
// Kết thúc quá trình nhận dữ liệu
resp.on('end', () => {
// Chuyển đổi chuỗi JSON thành object
try {
const jsonData = JSON.parse(data);
console.log(jsonData);
} catch (error) {
console.error('Lỗi khi phân tích JSON:', error);
}
});
}).on("error", (err) => {
console.log("Lỗi: " + err.message);
});
Giải thích chi tiết từng dòng code
const https = require('https');
: Nhập modulehttps
để thực hiện các yêu cầu HTTP.const url = 'https://api.example.com/data';
: Đặt biếnurl
với địa chỉ của API mà bạn muốn truy cập.https.get(url, (resp) => { ... })
: Gửi yêu cầu GET đến API,resp
đại diện cho phản hồi từ server.resp.on('data', (chunk) => { ... })
: Lắng nghe sự kiện 'data' để nhận từng đoạn dữ liệu.data += chunk;
: Ghép từng đoạn dữ liệu lại thành một chuỗi đầy đủ.resp.on('end', () => { ... })
: Lắng nghe sự kiện 'end' để xử lý khi đã nhận đủ dữ liệu.JSON.parse(data);
: Chuyển chuỗi JSON thành object để dễ dàng sử dụng trong Node.js..on("error", (err) => { ... })
: Xử lý các lỗi phát sinh trong quá trình thực hiện yêu cầu GET.
Yêu cầu hệ thống
- Phiên bản Node.js: 10.x trở lên
Cách cài đặt để chạy được đoạn mã Node.js trên
Không cần cài đặt thêm thư viện, chỉ cần cài đặt Node.js từ trang chủ Node.js nếu bạn chưa cài đặt.
Lời khuyên
- Hãy luôn kiểm tra API trước khi sử dụng và đọc kỹ tài liệu API.
- Sử dụng
try...catch
để xử lý lỗi khi phân tích cú pháp JSON. - Thực hành thường xuyên để nắm vững kỹ năng làm việc với API trong Node.js.