Chuyển JSON sang CSV
Biến một mảng JSON thành file CSV sẵn sàng cho bảng tính.
Chạy ngay trên trình duyệt. Không có gì bạn nhập vào bị gửi đi đâu cả.
- Làm phẳng trường lồng nhau
- Mỗi khóa thành một cột
- Mở gọn gàng trong Excel
Cách chuyển JSON sang CSV
- Dán hoặc tải lên một mảng object JSON.
- Chọn ký tự phân tách và có làm phẳng trường lồng nhau hay không.
- Sao chép CSV hoặc tải file về.
Trường lồng nhau được làm phẳng thế nào
| JSON | Cột CSV | Giá trị |
|---|---|---|
| {"user":{"name":"Sam"}} | user.name | Sam |
| {"tags":["a","b"]} | tags | a, b |
| {"active":true} | active | true |
Việc làm phẳng thay đổi điều gì
| Thiết lập | Object lồng nhau | Mảng giá trị |
|---|---|---|
| Bật làm phẳng | Mỗi trường một cột (address.city) | Nối vào một ô bằng dấu phẩy |
| Tắt làm phẳng | Một ô chứa văn bản JSON | Một ô chứa văn bản JSON |
Mẹo để xuất CSV sạch
- Thứ tự cột theo thứ tự trường xuất hiện lần đầu trên tất cả các dòng, không theo thứ tự bảng chữ cái.
- Nếu phần mềm bảng tính hiển thị mọi thứ dồn vào một cột, hãy tải lại với dấu chấm phẩy làm ký tự phân tách thay vì dấu phẩy.
- Một giá trị được lưu dưới dạng chuỗi JSON, như mã bưu chính "00501", sẽ được ghi vào CSV đúng y nguyên chuỗi đó, vì chỉ giá trị vốn đã là số JSON mới được coi là số.
Ghi chú về định dạng CSV
- Một trường chỉ được bọc trong dấu ngoặc kép khi cần thiết, ví dụ khi nó chứa dấu phẩy, dấu ngoặc kép hoặc ký tự xuống dòng, đúng theo quy tắc CSV chuẩn trong RFC 4180.
- File tải về bắt đầu bằng dấu hiệu byte order mark UTF-8 để Excel mở đúng các ký tự có dấu. Các công cụ chỉ nhận UTF-8 thuần không có dấu hiệu này vẫn đọc được phần còn lại của file bình thường.
Câu hỏi thường gặp về JSON sang CSV
Công cụ này cần JSON ở dạng nào?
Một mảng object, ví dụ [{"name":"Sam","age":30}]. Một object đơn sẽ thành một dòng, còn một mảng các mảng được ghi theo từng dòng.
Object và mảng lồng nhau sẽ ra sao?
Khi bật làm phẳng, một trường lồng nhau như address.city sẽ thành cột riêng tên address.city. Danh sách các giá trị đơn giản được nối vào một ô bằng dấu phẩy.
Các dòng có cần cùng trường không?
Không cần. Tiêu đề cột gồm mọi trường xuất hiện ở bất kỳ dòng nào, theo thứ tự xuất hiện lần đầu, và giá trị thiếu sẽ để trống.
Vì sao dấu tiếng Việt hiển thị sai khi tôi mở CSV trong Excel?
Excel tự đoán bảng mã văn bản. File tải về bắt đầu bằng dấu hiệu UTF-8 để dấu và ký tự đặc biệt hiển thị đúng. Nếu Excel của bạn dùng dấu phẩy cho số thập phân, hãy chọn dấu chấm phẩy làm ký tự phân tách.
Giá trị null hoặc bị thiếu sẽ ra sao?
Một giá trị null hoặc một trường bị thiếu ở một dòng sẽ thành ô trống. Cột đó vẫn xuất hiện trong tiêu đề miễn là có ít nhất một dòng khác có trường đó.
Tôi có thể chuyển một phản hồi API được bọc trong object, như {"data": [...]}, không?
Hãy dán riêng phần mảng, ví dụ nội dung của trường data. Công cụ này cần một mảng object, hoặc một object đơn, ở cấp cao nhất, không phải một lớp bọc quanh nó.
Tôi có thể chuyển một mảng JSON gồm chuỗi hoặc số đơn giản, không phải object, không?
Được. Mỗi giá trị thành một dòng với một cột duy nhất, nên ["a", "b"] sẽ thành CSV hai dòng, mỗi dòng một giá trị.
CSV dùng ký tự xuống dòng CRLF hay LF?
CRLF (\r\n) giữa các dòng, đúng theo chuẩn CSV trong RFC 4180 và cũng là cách Excel tự ghi.