CSV sang JSON
Chuyển dữ liệu CSV hoặc TSV thành mảng JSON sạch, với hàng đầu tiên làm tên trường. Xử lý được giá trị có dấu ngoặc kép, dấu phẩy trong ngoặc kép và tệp có
Chuyển dữ liệu CSV hoặc TSV thành một mảng JSON các đối tượng gọn gàng, dùng hàng đầu tiên làm tên trường. Giá trị đặt trong ngoặc kép, dấu phẩy bên trong ngoặc kép, dấu ngoặc kép đã escape và tệp có BOM UTF-8 đều được xử lý đúng - những thứ mà hầu hết đoạn mã tách bằng dấu phẩy ngây thơ làm sai.
Đây là chiều ngược lại của bước xuất dữ liệu: lấy một bảng tính được duy trì bằng tay, biến nó thành JSON rồi đưa vào một ứng dụng, một trình tạo site tĩnh hoặc một bộ dữ liệu kiểm thử. Số và giá trị true/false được chuyển thành đúng kiểu JSON của chúng để bạn không phải dọn lại về sau.
Cách chuyển CSV sang JSON
Dán dữ liệu CSV hoặc TSV
Chọn ký tự phân tách nếu không phải dấu phẩy
Sao chép hoặc tải tệp JSON
Câu hỏi thường gặp
Các trường đặt trong ngoặc kép có được xử lý không?
Có. Những giá trị được bao trong dấu ngoặc kép có thể chứa dấu phẩy, ký tự xuống dòng và dấu ngoặc kép đã escape - đây chính là phần mà hầu hết công cụ chuyển đổi đơn giản làm sai.
Nên chọn ký tự phân tách nào?
Dấu phẩy cho CSV chuẩn, dấu chấm phẩy cho tệp do Excel xuất ra ở nhiều vùng châu Âu, và tab cho dữ liệu sao chép từ bảng tính.
Số có được chuyển thành số không?
Những giá trị trông giống số trở thành số JSON và true/false trở thành giá trị boolean, nên kết quả dùng được ngay mà không cần phân tích thêm. Hãy ép về chuỗi sau đó nếu lược đồ của bạn cần như vậy.
Còn BOM UTF-8 ở đầu tệp thì sao?
Nó được tự động loại bỏ, nên tên cột đầu tiên không bị kèm một ký tự vô hình phía trước.
Ô trống được biểu diễn thế nào?
Dưới dạng chuỗi rỗng. Hãy xoá hoặc chuyển đổi chúng sau đó nếu lược đồ của bạn mong đợi giá trị null.
Dữ liệu của tôi có bị tải lên không?
Không, việc phân tích diễn ra cục bộ trong trình duyệt của bạn.
Tổng quan nhanh
| Đầu vào | CSV |
|---|---|
| Nhiều tệp cùng lúc | Không |
| Chạy ở đâu | Ngay trong trình duyệt - tệp không bao giờ bị tải lên |
| Dùng được ngoại tuyến | Có — sau khi trang đã tải xong |
| Giá | Miễn phí, không đăng ký, không hình mờ |
Chọn một định dạng dữ liệu
JSON là mặc định cho mọi thứ một API trả về hoặc một chương trình đọc vào: nó xử lý cấu trúc lồng nhau, số, giá trị boolean và null một cách tự nhiên, và ngôn ngữ nào cũng phân tích được nó. CSV nhỏ hơn và mở thẳng vào bảng tính, nhưng nó không có cách nào diễn tả cấu trúc lồng nhau và không có tiêu chuẩn chung cho ký tự phân tách, cách đặt ngoặc kép hay bộ ký tự - đó chính là chỗ các phép chuyển đổi hay sai. XML dài dòng nhưng mang được thuộc tính, nội dung hỗn hợp và lược đồ, nên nó vẫn chiếm ưu thế trong các định dạng tài liệu và những hệ thống tích hợp cũ. YAML dễ đọc nhất cho phần cấu hình nhưng rất nhạy với dấu cách và có những cách ép kiểu gây bất ngờ ("no" thành false, một phiên bản như 1.10 thành 1.1). Hãy chọn định dạng mà công cụ tiếp nhận ưa dùng, chứ không phải định dạng trông đẹp nhất.
Những chỗ việc chuyển đổi âm thầm hỏng
Phần lớn lỗi chuyển đổi không nằm ở cú pháp mà ở ý nghĩa. Một cột mã bưu chính trong CSV mất các số 0 đứng đầu ngay khi bảng tính đoán rằng đó là số; một ID dài vượt quá độ chính xác của số dấu phẩy động; ngày tháng đổi nghĩa tuỳ theo nó được viết theo kiểu ngày trước hay tháng trước. Các khoá JSON không có thứ tự nhưng mảng thì có, và một công cụ sắp xếp khoá thì không đổi gì, còn công cụ sắp xếp mảng thì đổi dữ liệu. Unicode là một cái bẫy khác: văn bản có thể đến dưới dạng UTF-8, UTF-16 hoặc kèm dấu thứ tự byte, và một bộ giải mã đoán sai sẽ biến các ký tự có dấu thành chữ hỏng. Trước khi tin vào bất kỳ phép chuyển đổi nào, hãy kiểm tra nhanh hàng đầu và hàng cuối, mọi trường có số 0 đứng đầu, và mọi trường chứa dấu ngoặc kép, dấu phẩy hay ký tự xuống dòng.