Tệp NDJSON là gì?
NDJSON — JSON theo dòng
Đó là gì?
NDJSON lưu mỗi đối tượng JSON hoàn chỉnh trên một dòng riêng, không có dấu ngoặc vuông bao quanh, không có dấu phẩy ngăn cách giữa các dòng. Mỗi dòng có thể đọc và hiểu độc lập với các dòng khác.
Lợi ích thể hiện rõ nhất khi xử lý khối lượng dữ liệu lớn: một tệp JSON thông thường phải được nạp toàn bộ vào bộ nhớ trước khi có thể xử lý. Còn NDJSON thì đọc được từng dòng một — nhờ vậy có thể xử lý một tệp 50 GB trên máy chỉ có 8 GB bộ nhớ.
Lịch sử và nguồn gốc
Quy ước này hình thành một cách tự nhiên cùng với sự phát triển của xử lý dữ liệu theo luồng, khi khối lượng dữ liệu ngày càng lớn khiến việc nạp toàn bộ tệp trở nên bất khả thi.
Nó dần trở thành định dạng mặc định cho nhật ký ứng dụng và các bản xuất dữ liệu từ cơ sở dữ liệu lớn.
Vì sao hữu ích
Có thể xử lý theo luồng, từng dòng một, bất kể dung lượng tổng thể của tệp.
Một dòng bị lỗi không làm hỏng toàn bộ phần còn lại — khác với JSON thông thường, nơi chỉ cần một dấu phẩy đặt sai vị trí cũng khiến cả tệp không thể đọc được.
Giới hạn và nhược điểm
Đây không phải là JSON hợp lệ theo đúng nghĩa chuẩn: một trình phân tích JSON thông thường sẽ từ chối đọc nó.
Định dạng này không có đặc tả chính thức, dẫn đến nhiều biến thể khác nhau.
Mẹo sử dụng
NDJSON là lựa chọn phù hợp cho nhật ký hệ thống, các bản xuất dữ liệu lớn hoặc luồng dữ liệu liên tục.
Nếu muốn dùng trong bảng tính, hãy chuyển sang CSV — với điều kiện cấu trúc dữ liệu là dạng phẳng.
Chuyển đổi tệp NDJSON của bạn trong vài giây, trên máy chủ an toàn của chúng tôi tại Pháp.
Chuyển đổi NDJSON