CSV (Comma-Separated Values, giá trị phân cách phẩy) là định dạng văn bản dữ liệu bảng phổ biến nhất, hầu hết tất cả phần mềm bảng (Excel, Google Sheets, Numbers, WPS) đều hỗ trợ nhập xuất CSV, cũng là một trong những định dạng phổ biến nhất cho trao đổi dữ liệu, nhập xuất hàng loạt. JSON (JavaScript Object Notation) là định dạng trao đổi dữ liệu phổ biến nhất trong Web API và lập trình hiện đại. CSV sang JSON là nhu cầu rất thường xuyên trong phát triển: nhận CSV xuất từ Excel từ sản phẩm/vận hành cần chuyển thành JSON cho API sử dụng, xuất CSV từ cơ sở dữ liệu cần chuyển thành JSON làm dữ liệu mock, khi di chuyển dữ liệu CSV cần nhập vào cơ sở dữ liệu tài liệu như MongoDB……một công cụ chuyển đổi tốt có thể tiết kiệm rất nhiều thời gian nối JSON thủ công.
CSV trông có vẻ đơn giản——trường phân cách phẩy, dòng phân cách xuống dòng——nhưng thực tế có rất nhiều bẫy: trường chứa phẩy làm sao? Trường có xuống dòng làm sao? Dấu ngoặc kép thoát thế nào? CSV xuất từ các quốc gia khác nhau còn có thể dùng chấm phẩy làm dấu phân cách (châu Âu vì dùng phẩy làm dấu thập phân), phân cách tab (định dạng TSV). Không xử lý tốt các vấn đề này dữ liệu phân tích ra sẽ bị sai. Công cụ này tuân theo tiêu chuẩn RFC 4180 CSV triển khai bộ phân tích, xử lý chính xác các tình huống biên như bọc dấu ngoặc kép, thoát dấu ngoặc kép, phẩy/xuống dòng trong trường, không phải string.split(',') đơn giản, kết quả chính xác đáng tin cậy.
Tự động nhận dạng dấu phân cách là chức năng rất thiết thực. Nhiều nhà phát triển nhận được tệp CSV phản ứng đầu tiên là đi dùng split(','), nhưng Excel châu Âu xuất mặc định dùng chấm phẩy(;) phân cách, split phẩy trực tiếp sẽ coi cả dòng là một trường; tệp TSV dùng tab phân cách, split phẩy lại càng hoàn toàn sai. Công cụ sẽ thống kê số lần xuất hiện của phẩy, chấm phẩy, tab mỗi dòng, tự động xác định dấu phân cách khả dĩ nhất và thống nhất chuyển đổi, bạn không cần quan tâm nguồn gốc tệp dán trực tiếp là được.
Sửa lỗi thông minh là chức năng cốt lõi khác biệt so với công cụ trực tuyến đơn giản. Trong công việc thực tế CSV nhận được thường không chuẩn: một số dòng không đúng số cột (dán bị cắt, thừa phẩy ở giữa), một số dấu ngoặc kép không đóng (vấn đề xuất), một số trộn lẫn dấu phân cách, phân tích trực tiếp sẽ thất bại hoặc nhận kết quả sai. Công cụ gặp các vấn đề này sẽ không trực tiếp từ chối chuyển đổi, mà là: ①liệt kê tất cả số dòng và nguyên nhân lỗi có vấn đề; ②cung cấp nút sửa một cú nhấp tự động điền cột rỗng/cắt bớt/điền dấu ngoặc kép; ③ngay cả khi có cảnh báo cũng cố gắng xuất kết quả JSON khả dụng, không vì một dòng lỗi mà toàn bộ tệp chuyển đổi thất bại.
Xuất chế độ kép đẹp/nén tương ứng các tình huống sử dụng khác nhau: khi phát triển debug, đọc xem dùng chế độ đẹp——thụt lề 2 khoảng trắng, cấp bậc rõ ràng, nhìn một cái là thấy cấu trúc đối tượng; khi dùng cho môi trường sản xuất, trả về API, tệp cấu hình dùng chế độ nén——bỏ tất cả khoảng trắng xuống dòng, dung lượng nhỏ hơn truyền nhanh hơn. Chuyển công tắc kết xuất lại tức thì, không cần chuyển đổi lại.
Tại sao xử lý cục bộ thuần lại quan trọng? Tệp CSV thường chứa dữ liệu nghiệp vụ thực, thông tin khách hàng, dữ liệu sản phẩm chưa công khai v.v. nội dung nhạy cảm, nếu tải lên máy chủ chuyển đổi bên thứ ba có rủi ro rò rỉ dữ liệu. Công cụ này tất cả logic phân tích chuyển đổi thực thi bằng JavaScript cục bộ trình duyệt, tệp chỉ xử lý trong bộ nhớ máy tính của bạn, không có yêu cầu mạng nào cả, mất mạng cũng dùng được, giải quyết vấn đề an toàn dữ liệu từ gốc. Xử lý cục bộ còn có ưu điểm tốc độ——tệp vài MB chuyển đổi hoàn thành tức thì, không cần chờ tải lên tải xuống.
Bảng chia cách kéo được và lịch sử cục bộ là chi tiết tối ưu cho sử dụng thường xuyên: khi xử lý bảng rộng có thể điều chỉnh vùng nhập rộng hơn, khi tập trung xem kết quả điều chỉnh vùng xuất rộng hơn; CSV chưa xử lý xong lần trước lần sau mở tự động khôi phục, không cần lại đi tìm tệp sao chép dán trong hộp thư/lịch sử trò chuyện. Một cú nhấp nhảy đến công cụ định dạng JSON càng cân nhắc đến luồng công việc thực tế——xong chuyển JSON thường cần định dạng, xác minh, nén, nhảy trực tiếp không cần sao chép dán lại mở trang mới.
Cần lưu ý: ①Tất cả giá trị CSV thống nhất chuyển thành kiểu chuỗi, đây là thiết kế có chủ đích——CSV không có thông tin kiểu, tự động chuyển số/boolean có thể bị lỗi (như mã bưu chính 00123, số chứng minh thư v.v. số không đứng đầu sẽ bị mất), cần chuyển đổi kiểu vui lòng xử lý trong code; ②Hiện tại chỉ hỗ trợ chuyển đổi một chiều CSV→JSON, JSON→CSV vui lòng sử dụng công cụ tương ứng của trang này; ③Tệp cực lớn (>10MB, triệu dòng) khuyến nghị sử dụng công cụ dòng lệnh (như csvtojson, jq), công cụ này định vị cho tình huống phát triển debug, hàng ngày trong vài vạn dòng hoàn toàn mượt mà.