Cách chuyển CSV sang JSON
- Dán CSV hoặc mở file
.csv. Dấu phân cách được nhận diện tự động, hoặc bạn có thể tự chọn. - Giữ tùy chọn Dòng đầu tiên là tiêu đề để dùng tên cột làm khóa. Nếu không có tiêu đề, mỗi dòng sẽ thành một mảng giá trị.
- Sao chép hoặc tải JSON về. Khi bật tùy chọn đường dẫn dấu chấm, các cột có tên như
address.citysẽ trở thành đối tượng lồng nhau.
Giá trị CSV được chuyển sang JSON như thế nào
| Ô CSV | Giá trị JSON |
|---|---|
42, -1.5, 2e3 | số (number), giữ nguyên chính xác các chữ số |
true, false | boolean |
null | null |
| ô trống | "" (chuỗi rỗng) |
007, +49 30 1234 | chuỗi – giữ nguyên số 0 và dấu cộng ở đầu |
["a","b"], {"x":1} | được parse thành mảng hoặc đối tượng JSON |
| mọi giá trị khác | chuỗi |
Tắt Nhận diện số, boolean và null để giữ mọi giá trị ở dạng chuỗi.
Dấu nháy, xuống dòng và các chi tiết khác của CSV
Trình phân tích tuân theo RFC 4180: trường có thể được bao trong dấu nháy kép, dấu nháy bên trong trường được viết thành hai dấu nháy (""), và trường trong dấu nháy có thể chứa cả dấu phân cách lẫn ký tự xuống dòng. Kiểu xuống dòng Windows (CRLF), Unix (LF) và ký tự BOM UTF-8 đều được xử lý tự động. Tên cột trống hoặc trùng lặp sẽ được đổi tên (column3, name_2), nên không mất dữ liệu nào.
Câu hỏi thường gặp
Làm sao để chuyển file Excel sang JSON?
Trong Excel, chọn File → Save As → CSV UTF-8, rồi mở file đó tại đây. Mỗi dòng sẽ thành một đối tượng JSON với tiêu đề cột làm khóa.
Tại sao một số con số lại thành chuỗi trong JSON?
Các giá trị có số 0 ở đầu (như mã bưu chính) hoặc có dấu cộng sẽ được giữ là chuỗi để không mất thông tin. Nếu mọi giá trị đều là chuỗi, hãy kiểm tra xem tùy chọn Nhận diện số, boolean và null đã được bật chưa.
Có thể tạo JSON lồng nhau từ file CSV không?
Có. Đặt tên cột theo đường dẫn dấu chấm như user.name và user.email rồi giữ bật tùy chọn đường dẫn dấu chấm – chúng sẽ trở thành {"user": {"name": …, "email": …}}.
File của tôi dùng dấu phân cách nào?
Công cụ lần lượt thử dấu phẩy, dấu chấm phẩy, tab và dấu gạch đứng, rồi chọn loại chia được mọi dòng thành cùng một số trường. Bạn có thể tự chọn lại trong menu Dấu phân cách.