Chuyển đổi TSV sang JSON

Biến bảng dữ liệu ngăn cách bằng tab thành mảng đối tượng JSON.

Khi bạn sao chép một vùng ô từ Google Sheets hoặc Excel, nội dung trong bộ nhớ đệm sẽ là văn bản được phân tách bằng dấu tab. Công cụ này nhận khối dữ liệu dán vào và chuyển đổi thành một mảng JSON, trong đó mỗi dòng tương ứng với một đối tượng.

Nguồn gốc phổ biến của dữ liệu định dạng TSV

Hiếm khi có ai tự gõ một tệp .tsv từ đầu. Định dạng này thường xuất hiện khi bạn xuất bảng tính, trích xuất dữ liệu từ cơ sở dữ liệu hoặc sử dụng các tiện ích dòng lệnh như mysql ở chế độ xử lý hàng loạt. Nhờ xuất phát từ các hệ thống tự động, cấu trúc tệp thường ngay ngắn và không bị lệch hàng như các tệp CSV chỉnh sửa thủ công.

Tuy nhiên, TSV ít khi áp dụng các quy tắc thoát ký tự chặt chẽ như CSV. Nếu một ô chứa sẵn dấu tab hoặc ký tự xuống dòng, một số phần mềm xuất tệp sẽ xử lý không nhất quán. Vì vậy, bạn nên kiểm tra lại tổng số bản ghi sau khi chuyển đổi.

Các quy tắc xử lý khi chuyển đổi TSV sang JSON

  • Nhận diện dòng đầu tiên là tiêu đề chứa tên trường hay là dữ liệu thông thường — chọn sai mục này sẽ làm lệch toàn bộ bảng giá trị đi một hàng.
  • Xác định cột chứa giá trị 0 và 1 nên giữ nguyên dạng số hay chuyển thành kiểu boolean false và true.
  • Quyết định ô trống sẽ chuyển thành chuỗi rỗng, giá trị null, hay lược bỏ hoàn toàn khỏi đối tượng JSON.
  • Xử lý giá trị mã dạng 0501 dưới dạng chuỗi ký tự hay ép kiểu về số 501 khiến chữ số 0 ở đầu bị mất.
  • Xử lý các cột trống ở cuối hàng xuất hiện từ bảng tính — giữ lại làm trường rỗng hay tự động cắt bỏ.

Sự khác biệt kỹ thuật giữa phân tích TSV và CSV

Cơ chế bao bọc ký tự giữa hai định dạng này hoàn toàn khác nhau, vì vậy bộ phân tích TSV và CSV không thể dùng thay thế cho nhau. Bộ đọc CSV luôn tìm kiếm các dấu ngoặc kép bọc quanh trường dữ liệu. Nếu đưa dữ liệu phân cách bằng tab vào bộ phân tích CSV, quá trình xử lý có thể gặp lỗi ngầm đối với những chuỗi ký tự phức tạp.

Thắc mắc thường gặp về chuyển đổi TSV sang JSON

Tôi có thể dán trực tiếp dữ liệu thay vì tải tệp lên không?

Hoàn toàn được. Dán trực tiếp từ bộ nhớ tạm là cách tiện lợi nhất khi bạn vừa sao chép từ bảng tính, hoặc bạn cũng có thể tải lên tệp .tsv có sẵn từ máy.

Tại sao mã số của tôi lại bị mất số 0 ở đầu?

Hiện tượng này xảy ra khi hệ thống nhận diện cột đó là kiểu số thuần túy. Để giữ nguyên số 0 đầu tiên như 0501, bạn cần định dạng lại cột đó thành dạng văn bản trong bảng tính gốc.

Hàng đầu tiên có bắt buộc phải là tiêu đề cột không?

Không bắt buộc. Nếu không có dòng tiêu đề, các trường sẽ được đặt tên tự động dạng column1, column2; nếu có, văn bản của hàng đầu sẽ trở thành tên khóa của từng thuộc tính.

Điều gì xảy ra nếu một ô dữ liệu chứa sẵn ký tự tab?

Hàng chứa ô đó sẽ bị lệch cột, bởi vì hệ thống không thể phân biệt giữa ký tự tab phân cách và ký tự tab nằm trong nội dung nếu không có dấu ngoặc kép định danh.

Dữ liệu của tôi được xử lý ở đâu sau khi bấm nút?

Khi bạn nhấn nút chuyển đổi, dữ liệu được gửi đến máy chủ để xử lý qua mã PHP rồi trả lại kết quả JSON, hệ thống không lưu trữ lại dữ liệu của bạn sau khi hoàn tất.

Cookie
Chúng tôi quan tâm đến dữ liệu của bạn và muốn sử dụng cookie để cải thiện trải nghiệm của bạn.