Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
JSON là một định dạng dữ liệu cực kỳ phổ biến, vì thế, điều quan trọng bạn cần tìm hiểu tất cả những tác vụ thông dụng. Dưới đây là cách đọc và ghi file JSON trong Node.js.

Bạn có thể đọc và ghi file JSON trong Node.js. Toàn bộ việc bạn cần làm là dùng mô đun fs làm chi tiết trong hướng dẫn đơn giản dưới đây.
JavaScript Object Notation hay JSON là một định dạng chuyển đổi dữ liệu gọn nhẹ được dùng phổ biến trong việc trình bày dữ liệu theo cấu trúc. Nó là định dạng dựa trên văn bản, dễ cho con người đọc & ghi, với máy móc thì nó dễ phân tích và tạo dữ liệu.
Khả năng đọc và ghi file JSON theo chương trình trong Node.js cho phép bạn lưu trữ, trao đổi và thao tác dữ liệu theo cấu trúc hiệu quả và dễ dàng. Hãy cùng nhau học cách đọc, ghi và update file JSON bằng mô đun hệ thống file Node.js.
Hệ thống file Node.js (fs) được xây dựng trong Node.js. Nó cho phép bạn tương tác với hệ thống file trên thiết bị. Bạn có thể dùng nó để đọc nội dung, tạo mới và xóa file.
Những phương thức được cung cấp bởi mô đun fs có thể là đồng bộ hoặc bất đồng bộ. Các phương thức đồng bộ chặn chạy chương trình của bạn cho tới khi hoạt động của hệ thống file hoàn tất. Những phương pháp này luôn có “Sync” ở cuối tên. Ví dụ, readFileSync hoặc writeFileSync.
Mặt khác, các phương thức bất đồng bộ không chạy thực thi chương trình và cho phép nó liên tục xử lý những nhiệm vụ khác trong khi triển khai hoạt động hệ thống file. Những phương thức này chấp nhận hàm callback, sẽ chạy khi hoạt động hoàn tất. Ví dụ, readFile hoặc writeFile.
Khi tương tác với hệ thống file, bạn luôn dùng các phương thức bất đồng bộ để duy trì bản chất không chặn của lặp sự kiện và cải thiện hiệu suất và phản hồi của ứng dụng.
Tuy nhiên, các phương thức đồng bộ có vai trò riêng của chúng trong những trường hợp nhất định, đặc biệt là khi bạn đang viết các tập lệnh đơn giản hoặc xử lý những thao tác tệp 1 lần.
Để đọc file JSON, đầu tiên, nhập mô đun fs bất đồng bộ vào file chính như sau:
const fs = require("node:fs/promises");
Nếu đang dùng phiên bản thấp hơn Node.js 18, nhập mô đun fs như sau:
const fs = require("fs/promises");
Bạn có thể đọc file JSON bằng phương thức readFile nhận 2 đối số: một đường dẫn file và một đối tượng cấu hình tùy chọn. Đối số config xác định các lựa chọn để đọc file và có thể là một đối tượng với những lựa chọn hay mã hóa chuỗi.
Tùy chọn đối tượng bao gồm:
Ví dụ:
fs.readFile("./users.json", { encoding: "utf-8", flag: "r" })
.then((data) => {
const users = JSON.parse(data);
console.log(users);
})
.catch((error) => {
console.error('Error reading the JSON file:', error);
});
Code này đọc một file JSON tên users.json trong thư mục hiện tại. Khi bạn truy xuất dữ liệu của file, bạn có thể phân tích nó từ JSON vào đối tượng JavaScript bằng JSON.parse. Điều này cho phép bạn truy cập và chỉnh sửa dữ liệu dưới dạng một đối tượng trong code.
Bạn có thể viết dữ liệu vào file JSON bằng phương thức writeFile. Phương pháp này tính 3 đối số:
Phương thích này ghi dữ liệu không đồng bộ vào một file. Nếu file tồn tại, nó ghi đè nội dung hiện có vào nội dung mới. Nếu file không tồn tại, nó tạo tập tin, rồi điền dữ liệu bạn chuyển dưới dạng đối số vào nó.
Ví dụ:
const fakeUsers = [
{
id: 1,
name: "John Doe",
username: "johndoe123",
address: {
street: "123 Main St",
city: "Anytown",
},
},
{
id: 2,
name: "Jane Smith",
username: "janesmith456",
address: {
street: "456 Elm St",
city: "Another City",
},
}
];
fs.writeFile("./users.json", JSON.stringify(fakeUsers), {
encoding: "utf-8",
flag: "w",
}).catch((error) => {
console.error('Error writing the JSON file:', error);
});
Dữ liệu bạn chuyển vào hàm writeFile phải là một chuỗi hoặc vùng đệm, vì thế, nếu bạn muốn ghi một đối tượng vào file, đầu tiên, bạn phải chuyển đổi nó sang dạng chuỗi bằng phương thức JSON.stringify.
Mô đun fs không cung cấp cách rõ ràng để update file, vì việc ghi tệp sẽ đè lên dữ liệu hiện tại.
Để xử lý vấn đề này, trước tiên bạn có thể update file bằng cách lấy nội dung hiện tại từ file bằng phương thức readFile. Sau đó, thêm dữ liệu hiện có vào dữ liệu hiện tại và chuyển nó đi dưới dạng đối số dữ liệu trong phương thức writeFile.
Đây là một hàm triển khai logic trên:
const updateFile = async (filePath, data) => {
try {
const fileContents = await fs.readFile(filePath, {
encoding: "utf-8",
flag: "r",
});
const fileData = JSON.parse(fileContents);
const updatedFileData = [...fileData, ...data];
await fs.writeFile(filePath, JSON.stringify(updatedFileData), {
encoding: "utf-8",
flag: "w",
});
return "File updated successfully";
} catch (error) {
console.error('Error updating the JSON file:', error);
}
};
Bạn có thể gọi hàm như sau:
updateFile("./users.json", [
{
id: 4,
name: "Jane Doe",
username: "janedoe123",
address: {
street: "123 Main St",
city: "Anytown",
},
},
{
id: 5,
name: "John Smith",
username: "johnsmith456",
address: {
street: "456 Elm St",
city: "Another City",
},
}
]).then((message) => {
console.log(message);
});
Khối code này sẽ thêm người dùng kèm thông tin ở trên vào file users.json hiện tại.
Bảo vệ ứng dụng Node.js khi đọc và ghi file JSON liên quan tới các vấn đề bảo mật quan trọng. Bạn nên xác thực dữ liệu JSON thường xuyên để đảm bảo nó hoạt động đúng như mong đợi. Bạn cũng nên hạn chế quyền truy cập và tẩy xóa dữ liệu đầu vào của người dùng để ngăn chặn nguy cơ hổng dữ liệu.
Nguồn tin: Quantrimang.com
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
Karaoke Người Đó Tôi Đây Tình Đâu(Midi)
Chuyển tin nhắn Messenger thành bài hát trong nháy mắt
Cách xây dựng game nhiều người chơi với Claude Opus 5.5
Cách xem thời tiết trong ChatGPT với AccuWeather để lên kế hoạch
Karaoke Lạnh (Midi)
Cách kết nối ElevenLabs AI agent với Exa
Thiết lập cách ChatGPT thông báo cho bạn khi có công việc cần chú ý
TOP phần mềm OCR scan tài liệu có tích hợp AI tốt nhất
6 trang web tạo mật khẩu ngẫu nhiên an toàn đáng tin cậy
TOP nền tảng xây dựng công cụ nội bộ có tích hợp AI
TOP phần mềm AI bảo mật Internet tốt nhất hiện nay
Biến các ý tưởng thành giải thích trực quan, tương tác trong ChatGPT
TOP tiện ích mở rộng AI cho VS Code tốt nhất
Cách tạo website Portfolio miễn phí bằng ChatGPT
6 lựa chọn thay thế Visual Studio Code tốt nhất có tích hợp AI
Tạo form hỏi đáp tương tác trong vài phút và prompt chỉnh sửa
Hướng dẫn sử dụng Google Slides trong Claude
Hướng dẫn sử dụng Wolfram trong ChatGPT giải toán nâng cao
15 prompt AI thú vị cho ngày lễ Halloween
Hoàn thiện một thiết kế thực tế với ChatGPT + Canva
Hướng dẫn cài đặt và sử dụng n8n trên Windows 11
Cách lập trình chuyên nghiệp hơn, dễ dàng hơn với tính năng Tệp trên Grok
Công thức tính diện tích hình Elip
Hướng dẫn ngắt kết nối ứng dụng trên ChatGPT
Hướng dẫn tạo đoạn hội thoại cho topic trên Twee
Bức tranh tổng quan về hỗ trợ khách hàng tích hợp AI
3 công cụ sửa tệp lỗi có sẵn trên Windows mà bạn cần
Claude Code thực sự có giá bao nhiêu?
Cách sửa lỗi There Are Currently No Power Options Available Windows
TOP ứng dụng diệt virus có tích hợp AI cho điện thoại Android