Cách sử dụng
- Dán một mảng JSON gồm các đối tượng, mở tệp .json hoặc nhấn “Dùng thử ví dụ”.
- Chọn dấu phân cách mà bảng tính của bạn yêu cầu và cách ghi các mảng bên trong đối tượng.
- Kiểm tra bản xem trước CSV. Mỗi đối tượng là một hàng; các trường lồng nhau trở thành cột như address.city.
- Sao chép CSV hoặc tải xuống dưới dạng tệp .csv.
Cách hoạt động
Mỗi phần tử trong mảng cấp cao nhất trở thành một hàng. Các cột là tập hợp tất cả khóa, theo thứ tự xuất hiện lần đầu, nên các đối tượng có trường khác nhau vẫn được căn chỉnh đúng; trường bị thiếu hoặc có giá trị null sẽ tạo ô trống. Các đối tượng lồng nhau được làm phẳng bằng đường dẫn dấu chấm: {"address": {"city": "Oslo"}} trở thành cột có tên address.city. Nếu gốc là một đối tượng đơn, kết quả sẽ có một hàng. Mảng gồm các giá trị đơn giản (chẳng hạn [1, 2, 3]) tạo thành một cột có tên value.
Mảng bên trong đối tượng có thể được ghi theo ba cách: dưới dạng văn bản JSON trong một ô (["a","b"]), nối các giá trị vào một ô (a; b), hoặc trải ra thành các cột được đánh số (tags.0, tags.1). Hãy dùng tùy chọn cuối nếu mỗi hàng có danh sách tương tự và ngắn.
Kết quả tuân theo RFC 4180: trường được đặt trong dấu ngoặc kép nếu chứa dấu phân cách, dấu ngoặc kép hoặc ký tự xuống dòng; các dấu ngoặc kép bên trong trường được nhân đôi. Các hàng kết thúc bằng ký tự xuống dòng CRLF. Ở nhiều thiết lập vùng châu Âu, Excel mặc định dùng dấu chấm phẩy thay vì dấu phẩy vì dấu phẩy là dấu phân cách thập phân. Excel cũng có thể định dạng lại số dài, số có số 0 ở đầu và văn bản trông giống ngày tháng khi mở tệp CSV; hãy nhập tệp dưới dạng văn bản nếu cần giữ nguyên giá trị chính xác. Số lớn hơn 2^53 sẽ mất độ chính xác khi JSON được phân tích.
Ví dụ
Xuất danh sách người dùng từ API
API trả về [{"id":1,"name":"Ada","address":{"city":"London"}}, …]. CSV có các cột id, name và address.city, sẵn sàng để sắp xếp và lọc trong bảng tính.
Văn bản có dấu phẩy và dấu ngoặc kép
Tên như Alan "AT" Turing sẽ trở thành "Alan ""AT"" Turing"; thành phố như Wilmslow, Cheshire cũng được đặt trong dấu ngoặc kép để phần mềm bảng tính giữ mỗi giá trị trong một ô riêng.
Mở bằng Excel tiếng Đức hoặc tiếng Pháp
Chọn dấu chấm phẩy làm dấu phân cách và bật BOM UTF-8. Excel sẽ tách cột chính xác và hiển thị các ký tự như ä và é mà không bị lỗi.
Câu hỏi thường gặp
JSON lồng nhau nhiều cấp được xử lý thế nào?
Các đối tượng lồng nhau ở mọi cấp được làm phẳng thành tên cột theo đường dẫn dấu chấm, chẳng hạn order.customer.address.zip. Mảng sẽ được xử lý theo tùy chọn bạn chọn: văn bản JSON, các giá trị được nối với nhau hoặc mỗi phần tử nằm trong một cột riêng.
Vì sao một số ô bị trống?
Ô sẽ trống nếu đối tượng không có khóa đó hoặc giá trị của khóa là null. Các cột được tạo từ tất cả đối tượng, nên khóa chỉ có trong một số đối tượng vẫn sẽ có cột riêng.
Nên dùng dấu phân cách nào?
Dấu phẩy là tiêu chuẩn. Hãy dùng dấu chấm phẩy khi dùng Excel ở các thiết lập vùng viết số thập phân bằng dấu phẩy (phần lớn châu Âu và Mỹ Latinh), hoặc dùng tab nếu dữ liệu có nhiều dấu phẩy hay bạn muốn dán trực tiếp vào bảng tính.
Có thể chuyển CSV ngược lại thành JSON không?
Có, bạn có thể dùng công cụ chuyển đổi CSV sang JSON trên trang web này. Lưu ý rằng thao tác làm phẳng không thể đảo ngược hoàn toàn: tên cột theo đường dẫn dấu chấm sẽ trở lại thành khóa thông thường như "address.city", chứ không phải đối tượng lồng nhau.
Quyền riêng tư
Quá trình chuyển đổi diễn ra trong trình duyệt. JSON và kết quả CSV của bạn không được tải lên, lưu trữ hoặc đưa vào dữ liệu phân tích.