Cách chuyển CSV sang JSON
CSV (giá trị được phân tách bằng dấu phẩy) là định dạng đơn giản nhất cho dữ liệu dạng bảng — mọi bảng tính đều có thể xuất nó. JSON (JavaScript Object Notation) là định dạng tiêu chuẩn cho các API web và ứng dụng hiện đại. Chuyển đổi giữa hai định dạng là một trong những nhiệm vụ dữ liệu phổ biến nhất trong phát triển.
Khi nào cần chuyển CSV sang JSON
- Tải dữ liệu vào ứng dụng web — hầu hết các framework JavaScript làm việc nguyên thủy với JSON, không phải CSV
- Tải trọng API — nếu bạn có dữ liệu trong một bảng tính cần đi đến một điểm cuối API, cần JSON
- Nhập vào cơ sở dữ liệu — nhiều cơ sở dữ liệu NoSQL (MongoDB, Firebase) chấp nhận JSON trực tiếp
- Tệp cấu hình — biến một bảng tính tham số thành tệp cấu hình JSON
- Phân tích dữ liệu — chuyển dữ liệu đã xuất sang định dạng mà các công cụ của bạn có thể xử lý
Cách CSV trở thành JSON
Một tệp CSV:
name,age,city
Alice,30,New York
Bob,25,London
Trở thành một mảng JSON các đối tượng:
[
{"name": "Alice", "age": "30", "city": "New York"},
{"name": "Bob", "age": "25", "city": "London"}
]
Dòng đầu tiên (tiêu đề) trở thành các khóa. Mỗi dòng tiếp theo trở thành một đối tượng.
Cách chuyển đổi
- Dán dữ liệu CSV của bạn — nhập dữ liệu được phân tách bằng dấu phẩy với một dòng tiêu đề.
- Chọn dấu phân cách của bạn — dấu phẩy, dấu chấm phẩy, tab hoặc dấu gạch đứng. Công cụ tự động phát hiện trong hầu hết các trường hợp.
- Sao chép hoặc tải xuống — xem lại đầu ra JSON và sao chép nó vào bộ nhớ tạm hoặc tải xuống dưới dạng tệp
.json.
Xử lý CSV phức tạp
Giá trị có dấu nháy — khi một giá trị chứa ký tự dấu phân cách (như một địa chỉ có dấu phẩy), nó phải được bao quanh bởi dấu nháy kép: "New York, NY". Các trình chuyển đổi tốt xử lý điều này một cách chính xác.
Giá trị trống — các ô trống trở thành chuỗi trống trong JSON ("field": ""). Nếu bạn muốn null, bạn sẽ phải xử lý sau đầu ra.
Giá trị số — CSV không có kiểu. Mọi thứ đều là văn bản. Đầu ra JSON sẽ có các số ở dạng chuỗi ("30", không phải 30). Nếu ứng dụng của bạn cần số thực, hãy phân tích chúng sau khi chuyển đổi.
Dấu xuống dòng trong giá trị — một số CSV chứa các giá trị nhiều dòng (được bao quanh bởi dấu nháy). Không phải tất cả các trình chuyển đổi đều xử lý chúng — kiểm tra với dữ liệu của bạn.
Mẹo
- Kiểm tra tiêu đề của bạn — dòng đầu tiên phải chứa các tên cột sạch và duy nhất. Khoảng trắng, ký tự đặc biệt hoặc các tiêu đề trùng lặp sẽ tạo ra các khóa JSON lộn xộn.
- Xác minh dấu phân cách — CSV châu Âu thường sử dụng dấu chấm phẩy thay vì dấu phẩy (vì dấu phẩy đóng vai trò là dấu phân cách thập phân ở nhiều quốc gia). Nếu việc chuyển đổi có vẻ sai, hãy thử một dấu phân cách khác.
- Định dạng đầu ra — sau khi chuyển đổi, đưa JSON qua một trình định dạng để làm cho nó dễ đọc trước khi sử dụng nó trong dự án của bạn.
- Kiểm tra ngẫu nhiên — so sánh một vài hàng của đầu ra JSON với CSV gốc để đảm bảo việc ánh xạ là chính xác, đặc biệt cho các tệp có nhiều cột.
Câu hỏi thường gặp
Điều gì xảy ra với dòng tiêu đề?
Dòng đầu tiên được sử dụng làm khóa cho các đối tượng JSON. Mỗi dòng tiếp theo trở thành một đối tượng với các khóa đó. Ví dụ, một tiêu đề « name,age » với một dòng « Alice,30 » trở thành {"name":"Alice","age":"30"}.
Những dấu phân cách nào được hỗ trợ?
Dấu phẩy, dấu chấm phẩy, tab và dấu gạch đứng đều được hỗ trợ. Công cụ có thể tự động phát hiện dấu phân cách hoặc bạn có thể chọn nó thủ công.
Nó có xử lý dấu phẩy bên trong các giá trị không?
Có. Các giá trị được bao quanh bởi dấu nháy kép (như « New York, NY ») được xử lý một cách chính xác — dấu phẩy bên trong dấu nháy được coi là một phần của giá trị, không phải là dấu phân cách.
Dữ liệu của tôi có được gửi đến máy chủ không?
Không. Tất cả việc chuyển đổi diễn ra trong trình duyệt của bạn. Dữ liệu của bạn không bao giờ rời khỏi thiết bị của bạn.