Chuyển đổi JSON sang CSV

Chuyển một mảng JSON gồm các object thành bảng CSV, hoàn toàn trong trình duyệt của bạn.

Chạy hoàn toàn trong trình duyệt của bạn. Không có gì được tải lên, ghi log hay lưu trữ.

Dán một phản hồi API và nhận một bảng bạn có thể mở trong bảng tính. Mọi khóa xuất hiện ở bất kỳ đâu trong mảng đều trở thành một cột, và mọi thứ diễn ra trong trình duyệt của bạn, nên một payload đầy dữ liệu cá nhân không bao giờ rời khỏi máy bạn.

Cách hoạt động

Tài liệu phải là một mảng các object, vì đó mới là một bảng: mỗi object một dòng. Một object đơn lẻ được chấp nhận như một bảng một dòng. Mọi thứ khác — một số đơn thuần, một chuỗi, một mảng chuỗi — không có dòng nào và sẽ được báo lại thay vì đoán.

Tiêu đề là hợp của mọi khóa trong mảng, theo thứ tự mỗi khóa xuất hiện lần đầu, chứ không chỉ là các khóa của object đầu tiên. Một trường tùy chọn vắng mặt ở bản ghi đầu tiên chính là hình dạng của một phản hồi API thực tế, và chỉ lấy khóa của dòng đầu sẽ bỏ sót cột đó cho mọi dòng.

Object hoặc mảng lồng nhau được ghi vào ô của nó dưới dạng JSON thay vì tách thành các cột phụ. Làm phẳng trông gọn hơn nhưng không chuyển ngược lại được: hai bản ghi lồng nhau theo cách khác nhau sẽ tạo ra hai tập cột khác nhau, và một khóa vốn đã chứa dấu chấm sẽ không còn phân biệt được với một khóa lồng nhau.

Null trở thành ô trống, true và false trở thành chữ true và false, và số được viết như JSON sẽ viết, nên giá trị không đổi hình dạng khi xuất ra.

Ví dụ

Trường hợp Dữ liệu nhập Kết quả
Một khóa vắng mặt ở bản ghi đầu tiên vẫn có cột riêng [{"id": 1}, {"id": 2, "note": "late"}] id,note 1, 2,late

Câu hỏi thường gặp

Vì sao object lồng nhau của tôi xuất hiện dưới dạng JSON trong một ô?

Vì làm phẳng nó sẽ không đảo ngược được. Nếu một bản ghi lồng ba cấp và bản ghi tiếp theo lồng một cấp, làm phẳng sẽ tạo ra hai tập cột khác nhau từ cùng một mảng; và một khóa vốn đã chứa dấu chấm sẽ không thể phân biệt với một đường dẫn lồng nhau. Giữ nguyên cấu trúc trong ô giúp bạn chuyển ngược lại vẫn nhận được đúng thứ ban đầu.

Excel có mở tệp này đúng không?

Điều đó phụ thuộc vào thiết lập vùng của bạn nhiều hơn là vào tệp. Một bảng tính dùng thiết lập vùng viết số thập phân bằng dấu phẩy sẽ chờ dấu chấm phẩy làm ký tự phân cách, vì thế nó có trong danh sách ký tự phân cách. Nếu một tệp phân cách bằng dấu phẩy mở ra thành một cột duy nhất mỗi dòng, đó chính là lý do.

Mảng của tôi nằm trong một object. Vì sao lại lỗi?

Vì toàn bộ tài liệu không phải là một danh sách dòng. Một phản hồi API có dạng {"data": [...]} cần bạn dán chính mảng đó, không phải lớp bọc. Lớp bọc chỉ có đúng một dòng — chính nó — và chuyển đổi nó sẽ cho ra một bảng có một ô chứa tất cả.

Tài liệu của tôi có bị tải lên đâu không?

Không. Trang tải một đoạn script nhỏ chuyển đổi ngay trên máy. Bạn có thể ngắt kết nối mạng sau khi trang đã tải xong và công cụ vẫn hoạt động.

Cần biết

  • Mọi thứ diễn ra trong trình duyệt của bạn. Tài liệu không bị tải lên, không bị ghi log và không được lưu trữ.
  • Cách đặt ngoặc kép tuân theo RFC 4180: một trường được đặt trong ngoặc kép khi nó chứa ký tự phân cách, dấu ngoặc kép hoặc dấu xuống dòng, và dấu ngoặc kép bên trong một trường như vậy được viết hai lần. Dấu gạch chéo ngược là ký tự bình thường và không bao giờ được coi là ký tự thoát.

Nguồn

Tất cả công cụ Lập trình