DevToolPal
VI

Chuyển đổi CSV sang JSON

Chuyển CSV sang JSON và JSON ngược lại sang CSV, tự nhận diện dấu phân cách, hỗ trợ tiêu đề và nhận diện kiểu dữ liệu.

Chạy cục bộ, không bao giờ tải lên

Tùy chọn

Chiều chuyển đổi

Đầu vào

0 ký tự · 0 B

Đầu ra

0 ký tự · 0 B

Công cụ này làm gì

Công cụ này chuyển CSV (giá trị phân tách bằng dấu phẩy) sang JSON, và JSON ngược lại sang CSV. CSV là định dạng mà bảng tính, cơ sở dữ liệu và công cụ phân tích xuất ra; JSON là định dạng mà API, code JavaScript và tệp cấu hình cần. Dán định dạng nào thì định dạng kia sẽ xuất hiện ngay lập tức.

Bộ phân tích tuân theo RFC 4180, chuẩn của CSV: trường có thể được bọc trong dấu nháy kép, dấu nháy bên trong trường có nháy được viết thành hai dấu nháy (""), và trường có nháy có thể chứa dấu phẩy và dấu xuống dòng. Kiểu xuống dòng Windows (CRLF) và Unix (LF) đều dùng được, và BOM UTF-8 do Excel thêm vào được tự động loại bỏ.

Cách sử dụng

  1. Dán CSV vào ô Đầu vào, thả tệp .csv hoặc .tsv vào đó, hoặc nhấn Ví dụ.
  2. Để Dấu phân cách ở chế độ Tự động nhận diện, hoặc chọn dấu phẩy, dấu chấm phẩy (phổ biến trong tệp Excel xuất ở châu Âu), tab hay dấu gạch đứng.
  3. Giữ Hàng đầu là tiêu đề bật để nhận một mảng các đối tượng có khóa là tên cột. Tắt đi để nhận một mảng các mảng.
  4. Nhận diện số và boolean biến 42 thành số và true thành boolean. Tắt đi để giữ mọi ô ở dạng văn bản.
  5. Chuyển Chiều chuyển đổi sang JSON → CSV để làm theo chiều ngược lại. Sao chép hoặc tải kết quả xuống.

Khi chuyển JSON sang CSV, đầu vào nên là một mảng các đối tượng. Các cột là hợp của mọi khóa theo thứ tự xuất hiện đầu tiên, nên hàng thiếu trường chỉ đơn giản nhận một ô trống. Ô chứa dấu phân cách, dấu nháy hoặc dấu xuống dòng sẽ tự động được đặt trong dấu nháy.

Ví dụ

id,name,active
1,Ada Lovelace,true
2,"Turing, Alan",false

trở thành

[
  { "id": 1, "name": "Ada Lovelace", "active": true },
  { "id": 2, "name": "Turing, Alan", "active": false }
]

Xử lý tệp lộn xộn

Ô tiêu đề trống được đặt tên column1, column2 và cứ thế tiếp tục, còn tên trùng được thêm hậu tố như name_2, nên không giá trị nào bị ghi đè. Hàng ngắn hơn hàng tiêu đề được bổ sung chuỗi rỗng; ô thừa được đặt tên cột riêng. Nếu một trường có nháy không bao giờ được đóng, thông báo lỗi sẽ cho bạn biết chính xác dòng và cột nơi nó bắt đầu.

Câu hỏi thường gặp

› CSV của tôi có bị tải lên máy chủ không?

Không. Việc phân tích và chuyển đổi chạy hoàn toàn trong trình duyệt, nên tệp chứa dữ liệu khách hàng hay dữ liệu kinh doanh không bao giờ rời khỏi thiết bị của bạn.

› Dấu phân cách được nhận diện như thế nào?

Ở chế độ Tự động nhận diện, công cụ đếm dấu phẩy, dấu chấm phẩy, tab và dấu gạch đứng ở dòng đầu tiên (bỏ qua mọi thứ trong dấu nháy) và dùng ký tự xuất hiện nhiều nhất. Hãy tự chọn dấu phân cách nếu đoán sai.

› Vì sao số dài được giữ nguyên dạng chuỗi?

Số trong JavaScript mất độ chính xác khi vượt quá 15–16 chữ số, nên các số nguyên dài như ID, số điện thoại hay số thẻ được giữ dạng chuỗi. Giá trị có số 0 ở đầu như 007 cũng được giữ dạng văn bản.

› Đối tượng lồng nhau sẽ ra sao khi chuyển JSON sang CSV?

Đối tượng và mảng lồng nhau được ghi vào một ô dưới dạng JSON thu gọn, nên không mất dữ liệu và bạn có thể phân tích lại ô đó sau này.