Dấu phân cách CSV
| Ký hiệu | Tên | Sử dụng |
|---|---|---|
| , | Dấu phẩy | CSV tiêu chuẩn (RFC 4180) |
| ; | Dấu chấm phẩy | Ngôn ngữ châu Âu (dùng phẩy cho thập phân) |
| \t | Tab (TSV) | Xuất bảng tính, kết xuất cơ sở dữ liệu |
| | | Ống | Dữ liệu có dấu phẩy trong trường |
Trường chứa dấu phân cách phải được bao bởi dấu ngoặc kép. Dấu ngoặc kép bên trong dùng cặp đôi: "".
3 định dạng JSON
Mảng đối tượng
Khuyến nghịMỗi hàng trở thành đối tượng JSON với khóa từ header. Phù hợp nhất cho API và JavaScript. [{"name": "Alice", "age": 28}]
Mảng lồng mảng
Gọn nhẹMỗi hàng là một mảng con. Hàng header trở thành mảng đầu tiên. [["name","age"],["Alice",28]]
Đối tượng có khóa
Bảng tra cứuDùng cột đầu tiên làm khóa. {"Alice": {"age": 28}, "Bob": {"age": 35}}
Chuyển đổi phổ biến
Dữ liệu bảng tính
CSV chuẩn với dấu phẩy, 4 hàng, 4 cột
Phản hồi API
Dấu chấm phẩy, dữ liệu endpoint
Cấu hình ứng dụng
Phân cách bằng tab, key-value
Chuyển đổi CSV sang JSON là gì?
Chuyển đổi CSV sang JSON là quá trình biến đổi dữ liệu từ định dạng Comma-Separated Values (CSV) sang JavaScript Object Notation (JSON). Đây là thao tác xử lý dữ liệu phổ biến nhất khi bạn cần đưa dữ liệu bảng tính, kết xuất cơ sở dữ liệu hoặc file log vào ứng dụng web, API hoặc hệ thống xử lý dữ liệu hiện đại.
CSV là định dạng dữ liệu dạng bảng đơn giản nhất: mỗi dòng là một bản ghi, các trường được phân cách bởi dấu phẩy (hoặc dấu chấm phẩy, tab). CSV được hỗ trợ bởi mọi bảng tính (Excel, Google Sheets, LibreOffice), cơ sở dữ liệu, và công cụ phân tích dữ liệu. Tuy nhiên, CSV không hỗ trợ dữ liệu lồng nhau, kiểu dữ liệu, hoặc cấu trúc phức tạp.
JSON là tiêu chuẩn trao đổi dữ liệu của web hiện đại. JSON hỗ trợ đối tượng lồng nhau, mảng, chuỗi, số, boolean và null. Hầu hết các ngôn ngữ lập trình và framework đều có thư viện đọc/ghi JSON tích hợp sẵn. JSON là định dạng mặc định cho REST API, cấu hình ứng dụng và lưu trữ dữ liệu NoSQL.
Cách phân tích CSV hoạt động
Phân tích CSV thoạt nhìn có vẻ đơn giản nhưng thực tế phức tạp hơn nhiều do các quy tắc trích dẫn (quoting). Theo tiêu chuẩn RFC 4180, CSV tuân theo các quy tắc sau:
- Dấu phân cách: Dấu phẩy là mặc định, nhưng nhiều vùng miền châu Âu dùng dấu chấm phẩy (vì họ dùng dấu phẩy cho số thập phân). Tab (TSV) phổ biến trong xuất dữ liệu.
- Trường trích dẫn: Nếu trường chứa dấu phân cách, xuống dòng hoặc dấu ngoặc kép, toàn bộ trường phải được bao trong dấu ngoặc kép:
"New York, NY" - Dấu ngoặc kép thoát: Dấu ngoặc kép bên trong trường trích dẫn được biểu diễn bằng cặp đôi:
"Anh ấy nói ""xin chào""" - Xuống dòng trong trường: Cho phép bên trong trường trích dẫn:
"Dòng 1\nDòng 2"
Công cụ này xử lý tất cả các trường hợp trên một cách chính xác. Quá trình phân tích diễn ra hoàn toàn trên trình duyệt của bạn bằng JavaScript thuần, không có dữ liệu nào được gửi đến server.
CSV vs JSON — So sánh toàn diện
Hai định dạng phục vụ mục đích khác nhau và hiểu rõ điểm mạnh yếu giúp bạn chọn đúng công cụ:
- Cấu trúc dữ liệu: CSV chỉ hỗ trợ dữ liệu phẳng (bảng 2 chiều). JSON hỗ trợ đối tượng lồng nhau, mảng trong mảng, cấu trúc cây phức tạp.
- Kiểu dữ liệu: CSV xem mọi thứ là chuỗi văn bản. JSON phân biệt rõ chuỗi, số, boolean, null và mảng.
- Kích thước file: CSV thường nhỏ hơn 30-50% so với JSON tương đương vì không có tên khóa lặp lại.
- Khả năng đọc: CSV dễ đọc trong bảng tính. JSON dễ đọc cho lập trình viên với cú pháp rõ ràng.
- Tương thích: CSV được mọi bảng tính và cơ sở dữ liệu hỗ trợ. JSON là tiêu chuẩn cho web API và ứng dụng hiện đại.
- Streaming: CSV có thể đọc từng dòng (streaming). JSON cần đọc toàn bộ file để phân tích cú pháp (trừ JSON Lines).
Xem thêm: Chuyển CSV sang XML, Chuyển JSON sang YAML, Kiểm tra JSON.
Xử lý các trường hợp đặc biệt
Khi chuyển đổi CSV sang JSON trong thực tế, bạn sẽ gặp nhiều trường hợp đặc biệt cần xử lý cẩn thận:
- Dấu ngoặc kép trong dữ liệu: Trường
"Anh ấy nói ""xin chào"""phải trở thành chuỗi JSON"Anh ấy nói \"xin chào\"". Công cụ này tự động xử lý chuyển đổi này. - Xuống dòng trong trường: CSV cho phép xuống dòng bên trong trường trích dẫn. Công cụ nhận diện đúng ranh giới trường ngay cả khi có ký tự xuống dòng.
- Mã hóa ký tự: UTF-8 là tiêu chuẩn hiện đại. Nếu CSV của bạn từ Excel cũ (Windows-1252 hoặc ISO-8859-1), một số ký tự đặc biệt có thể hiển thị sai. Hãy chuyển đổi sang UTF-8 trước.
- Trường trống: Trường trống trong CSV trở thành chuỗi rỗng
""trong JSON, không phảinull. Nếu cần phân biệt, hãy xử lý sau khi chuyển đổi. - Header trùng tên: Nếu CSV có 2 cột cùng tên, cột sau sẽ ghi đè giá trị cột trước trong đối tượng JSON. Đảm bảo header duy nhất trước khi chuyển đổi.
Sử dụng CSV sang JSON trong code
Dưới đây là các ví dụ code phổ biến để chuyển đổi CSV sang JSON trong các ngôn ngữ lập trình:
JavaScript / Node.js
const csv = "name,age\nAlice,28\nBob,35";
const lines = csv.split("\n");
const headers = lines[0].split(",");
const result = lines.slice(1).map(line => {
const values = line.split(",");
return Object.fromEntries(
headers.map((h, i) => [h, values[i]])
);
});
// [{name: "Alice", age: "28"}, ...]Python
import csv, json, io
csv_data = "name,age\nAlice,28\nBob,35"
reader = csv.DictReader(io.StringIO(csv_data))
result = json.dumps(list(reader), indent=2)
print(result)Command line (jq + csvtool)
# Sử dụng Miller (mlr)
mlr --icsv --ojson cat data.csv > data.json
# Hoặc csvjson (csvkit)
csvjson data.csv > data.jsonVới dữ liệu lớn (hơn 100MB), nên dùng thư viện streaming như PapaParse (JavaScript) hoặc module csv tích hợp sẵn trong Python thay vì đọc toàn bộ file vào bộ nhớ.
Câu hỏi thường gặp
Bạn cũng có thể thích
CSV to XML Converter — Transform Spreadsheet Data to XML Online
Convert CSV to well-formed XML with configurable root and row element names, delimiter support, and proper escaping. Free browser-based tool — no upload needed.
JSON to YAML Converter — Convert Config Files Online Free
Convert JSON to YAML and YAML to JSON instantly. Bidirectional converter with indent control, key sorting, and sample configs. Free, private, browser-based.
JSON Formatter — Beautify, Minify & Validate JSON Online
Format, beautify, and minify JSON data with real-time validation. Configurable indentation (2/4/tab), instant error detection, copy and download. Free online JSON formatter for developers.
JSON Validator & Formatter — Check & Fix JSON Syntax Online
Validate JSON syntax instantly and see the exact error with line and column numbers. Format (pretty-print) or minify valid JSON. Free, private, runs entirely in your browser.
Thêm công cụ Chuyển đổi dữ liệu
CSV to XML Converter — Transform Spreadsheet Data to XML Online
Convert CSV to well-formed XML with configurable root and row element names, delimiter support, and proper escaping. Free browser-based tool — no upload needed.
JSON to XML Converter — Convert JSON Data to XML Online
Convert JSON objects and arrays to well-formed XML instantly. Bidirectional: also convert XML back to JSON. Handles nested objects, arrays, special characters, and custom root elements. Free, private, browser-based.
JSON to YAML Converter — Convert Config Files Online Free
Convert JSON to YAML and YAML to JSON instantly. Bidirectional converter with indent control, key sorting, and sample configs. Free, private, browser-based.
XML Formatter & Validator — Prettify, Minify & Validate XML Online
Format and validate XML online with syntax highlighting, configurable indentation (2/3/4 spaces), and real-time error detection. Switch between prettify and minify modes. Uses the browser's native DOMParser — free, private, no data leaves your device.
JSON Validator & Formatter — Check & Fix JSON Syntax Online
Validate JSON syntax instantly and see the exact error with line and column numbers. Format (pretty-print) or minify valid JSON. Free, private, runs entirely in your browser.
JSON Minifier — Compress JSON & Remove Whitespace Online
Minify JSON online by removing all whitespace and indentation. Shows before/after size comparison with savings percentage. Validates JSON before compressing to guarantee valid output. Includes prettify mode, download, and copy. Free, private, runs entirely in your browser.
JSON Diff and Compare — Find JSON Differences
Compare two JSON objects side-by-side and highlight structural differences. Added lines in green, removed in red. Normalizes key order for accuracy.
Giới thiệu về Chuyển đổi dữ liệu
Công cụ developer tự động hóa các phần lặp đi lặp lại của công việc phần mềm: format JSON, encode/decode Base64, decode JWT để xác minh claim của token, tạo UUID, format XML, diff cấu hình. Đây không phải tác vụ hào nhoáng, nhưng là các điểm nghẽn ngốn 10-15 phút nhiều lần mỗi ngày — cộng lại hàng giờ mỗi tuần. Chạy chúng trên tab trình duyệt sạch sẽ hơn vật lộn với phụ thuộc CLI hay extension IDE có thể gửi dữ liệu riêng tư của bạn cho bên thứ ba.
Vì sao nó quan trọng
Công cụ developer client-side nhanh về cơ bản quan trọng vì chúng được dùng với dữ liệu nhạy cảm. JWT token chứa danh tính người dùng. Payload Base64 có thể encode API key. JSON dump bao gồm bản ghi khách hàng. Nếu một 'công cụ developer' gửi input của bạn lên server để xử lý, bạn vừa rò rỉ production secret. Công cụ dev của ZestLab chạy 100% client-side không có network call nào sau khi load page — những gì bạn paste vẫn ở trong trình duyệt.
Riêng tư và an toàn
Tất cả công cụ developer ở đây chạy trong trình duyệt bằng JavaScript thuần. Không có 'decode server' hay 'format API' — JWT, JSON, payload encode của bạn được parse bởi code chạy trên laptop của bạn. Tự xác minh bằng DevTools trình duyệt → Network tab: bạn sẽ thấy không có request nào khi dùng bất kỳ công cụ nào. Đó là tiêu chuẩn chúng tôi giữ vì công cụ dev xử lý secret.
Thực hành tốt
- Không bao giờ paste JWT hay API token production vào BẤT KỲ công cụ online nào mà không xác minh chạy client-side (check tab Network)
- Dùng chế độ ẩn danh trình duyệt để decode một lần các payload nhạy cảm
- Bookmark công cụ bạn dùng hàng ngày — URL công cụ ZestLab ổn định, không cần tài khoản
- Khi format JSON có secret để team review, redact credential trước khi share output