CSV ⇄ JSON
Dán một trong hai định dạng — định dạng kia hiện ra khi bạn gõ, cả hai chiều.
Cách sử dụng
- Dán CSV (hoặc TSV / văn bản phân tách bằng dấu chấm phẩy) hoặc một mảng JSON vào ô — kết quả được vẽ ngay khi bạn gõ, không cần nhấn nút. Chiều chuyển được nhận từ ký tự đầu tiên và hiển thị phía trên kết quả để bạn kiểm tra.
- Nếu chiều chuyển bị đoán sai, hãy chọn CSV → JSON hoặc JSON → CSV. Nếu mọi thứ dồn vào một cột, hãy đổi dấu phân cách từ “Tự động” sang ký tự của bạn. Tắt “Dòng đầu là tiêu đề” khi tệp bắt đầu bằng dữ liệu — khi đó bạn nhận mảng của các mảng thay vì đối tượng.
- Sao chép hoặc tải xuống kết quả. Cả hai đều dùng đúng văn bản bạn thấy trên màn hình; tệp được đặt tên data.json hoặc data.csv. Tải mẫu điền ví dụ theo chiều chuyển đang bật.
Ví dụ
Đầu vào (CSV)
order_id,customer,note,zip,amount,shipped 1001,"Nguyễn, An",yêu cầu hoàn tiền,00501,89.90,true 1002,Trần Bảo,,10001,42.00,false
Kết quả (JSON)
[ { "order_id": 1001, "customer": "Nguyễn, An", "note": "yêu cầu hoàn tiền", "zip": "00501", "amount": 89.9, "shipped": true }, { "order_id": 1002, "customer": "Trần Bảo", "note": "", "zip": 10001, "amount": 42, "shipped": false } ]
Bốn điều cần kiểm tra trong kết quả đó: dấu phẩy trong “Nguyễn, An” vẫn nằm trong giá trị thay vì tách dòng; zip 00501 giữ số 0 đầu vì nếu không sẽ thành 501; 10001 thì thành số, nên cột zip có kiểu lẫn lộn — hãy tắt “Nhận diện số & boolean” để giữ mọi giá trị là chuỗi; và 89.90 ra thành 89.9, vì số JSON không thể mang số 0 ở cuối.
Quy tắc, giới hạn và các vấn đề đã biết
- Không tải tệp lên, không kéo thả, không lấy từ URL: hãy dán văn bản vào. Vùng kéo thả sẽ chiếm mất chiều cao cần cho kết quả, còn đọc tệp đúng cách nghĩa là phải xử lý các bảng mã không phải UTF-8 — công cụ xem CSV đã làm việc đó (GB18030, Big5, Windows-1256), nên hãy mở tệp ở đó rồi sao chép văn bản.
- Đầu vào giới hạn 1.000.000 ký tự; trên 200.000 ký tự kết quả chờ đến khi bạn ngừng gõ và báo rõ. Vượt giới hạn cứng bạn nhận lỗi rõ ràng — đầu vào không bao giờ bị cắt âm thầm.
- Nhận diện kiểu theo từng ô và thận trọng: chỉ true / false / null (chữ thường) và số JSON nghiêm ngặt được chuyển đổi. Số nguyên có số 0 đầu (00501) và số từ 16 chữ số trở lên (ID dài) luôn giữ dạng chuỗi, ô trống vẫn là "" chứ không thành null.
- Số JSON không giữ được số 0 ở cuối, nên 89.90 thành 89.9 và 42.00 thành 42. Tắt “Nhận diện số & boolean” để giữ mọi giá trị đúng như đã viết.
- Số cột lấy theo dòng rộng nhất nên không trường nào bị mất: dòng ngắn được đệm bằng chuỗi rỗng, trường thừa được đặt tên tự động. Các dòng không khớp dòng đầu được liệt kê theo số dòng.
- Tên cột trùng được đổi thành _2, _3 … thay vì ghi đè lên nhau — ghi đè sẽ âm thầm mất cả một cột. Ô tiêu đề thiếu hoặc trống thành column_N. Những tên đó dễ đọc bằng máy và giống nhau ở mọi ngôn ngữ giao diện.
- JSON → CSV nhận mảng đối tượng (trường hợp chính), mảng của các mảng (cột theo vị trí), một đối tượng đơn và mảng giá trị đơn (một cột “value”). Mọi thứ khác — một giá trị ở cấp cao nhất, hay mảng trộn đối tượng với giá trị khác — bị từ chối kèm dòng và cột, không bao giờ đoán mò.
- Đối tượng lồng nhau được làm phẳng thành khóa có dấu chấm (address.city) theo mặc định; mảng không bao giờ được làm phẳng, chúng được ghi thành JSON thu gọn trong ô. Tắt làm phẳng để giữ đối tượng lồng nhau dưới dạng JSON. null thành ô trống.
- JSON được phân tích nghiêm ngặt: không chú thích, không dấu phẩy thừa, không nháy đơn, không ký tự điều khiển chưa escape, lồng tối đa 64 cấp. Mỗi dòng một đối tượng (JSON Lines) không được chấp nhận — hãy bọc các đối tượng trong một mảng trước.
- CSV là phía dễ tính hơn: dấu ngoặc kép không đóng được gộp đến cuối văn bản và dòng của nó được nêu tên, dòng trống bị bỏ qua và đếm lại, dòng sai số trường được liệt kê. Chỉ phía JSON mới sinh lỗi cứng.
- CSV kết quả dùng ký tự xuống dòng CRLF và không có byte-order mark, giống hệt nội dung bạn sao chép. Nếu Excel hiện ký tự lỗi khi nhấp đúp vào CSV không Latinh, hãy nhập qua Data → From Text/CSV và chọn UTF-8.
- Ngoài phạm vi: .xlsx, tệp nén, nhiều tệp, JSON Lines, xuất YAML/XML/SQL/Excel, sắp xếp, lọc, chọn cột và loại trùng — công cụ xem CSV và chuyển đổi cấu hình phủ những phần đó. Không tải lên, không lưu trữ, không đưa vào URL.
Công cụ liên quan
Việc thường làm tiếp theo khi dữ liệu đã ở định dạng kia.