Chuyển đổi JSON thành CSV

Chỉ cần dán một mảng JSON chứa các đối tượng (dạng mà hầu hết API sử dụng để biểu diễn danh sách), công cụ chuyển đổi sẽ biến mỗi đối tượng thành một dòng trong tệp CSV. Nó tự động xác định tiêu đề cột từ các khóa, sắp xếp các đối tượng lồng vào nhau thành các cột theo ký hiệu chấm, và xử lý các mảng bằng cách kết nối chúng với dấu phân cách hoặc tạo riêng một cột cho mỗi chỉ mục.

Cách chuyển đổi JSON thành CSV

  1. 1

    Dán mảng JSON

    Thông thường là `[{...}, {...}, ...]`. Nếu bạn có dữ liệu tải được gói như `{"data": [...]}`, hãy cung cấp mảng bên trong.

  2. 2

    Chọn định dạng phân cách và định dạng ngoặc kép

    Điểm, tab, dấu phẩy hoặc dấu ống. Chọn liệu có cần đặt trong ngoặc đơn luôn hay chỉ khi cần thiết.

  3. 3

    Chọn cách xử lý đối tượng lồng nhau

    Đẹp dữ liệu thành các giá trị `user.name` hoặc `user.email`, hoặc mã hóa dưới dạng chuỗi JSON trong một cột duy nhất.

  4. 4

    Tải xuống tệp CSV

    Lưu tệp CSV hoặc sao chép nó. Các tiêu đề sẽ xuất hiện ở hàng đầu tiên trừ khi bạn vô hiệu hóa chúng.

Ví dụ

Nội dung đầu vào:

[
  { "id": 1, "user": { "name": "Alice", "email": "a@a.com" }, "tags": ["admin"] },
  { "id": 2, "user": { "name": "Bob",   "email": "b@b.com" }, "tags": ["user", "beta"] }
]

Xuất (phẳng hóa mảng lồng và nối các mảng):

id,user.name,user.email,tags
1,Alice,a@a.com,admin
2,Bob,b@b.com,"user,beta"

Lựa chọn dấu phân cách

Dấu phân cách Dùng khi
, (dấu phẩy) Giá trị mặc định, hoạt động với Excel và Google Sheets
; (dấu chấm phẩy) Các bản Excel châu Âu coi , là dấu thập phân
\t (tab) Dán sạch sẽ vào Google Sheets, tránh các vấn đề về dấu ngoặc kép
` ` (dấu sổ đứng)

Các quy tắc trích dẫn

Một trường phải được đặt trong ngoặc kép khi chứa các giá trị sau:

  • ký tự phân cách – dấu ngoặc kép (được đánh dấu bằng cách viết hai lần: " -> "")
  • dòng mới

Việc luôn dẫn trích nội dung sẽ đảm bảo tính tương thích giữa các công cụ khác nhau một cách an toàn hơn; trong khi việc chỉ dẫn trích khi cần thiết sẽ giúp việc đọc tay tệp tin trở nên dễ dàng hơn.

Xử lý đối tượng lồng nhau

  • Phẳng hóa: { user: { name: "A" } } trở thành cột user.name; các đường đi sâu trở thành a.b.c.d.
  • Chuỗi JSON: đối tượng lồng nhau vẫn được lưu dưới dạng giá trị JSON trong một cột duy nhất: "{\"name\":\"A\"}". Thích hợp khi các công cụ xử lý tiếp theo có thể phân tích được dữ liệu này.
  • Chuyển thành chuỗi: nối các phần bằng dấu phân cách, làm mất cấu trúc ban đầu.

Xử lý mảng

  • Liên kết: ["a", "b"] sẽ chuyển thành "a,b" trong cùng một cột.
  • Các cột đã được chỉ mục: tạo ra các giá trị tags.0, tags.1, tags.2, chỉ hoạt động khi độ dài mảng nhất quán.
  • Chỉ phần tử đầu tiên: chỉ lấy tags[0] và bỏ qua các phần còn lại.

Các lỗi phổ biến

  • Khóa không đồng nhất giữa các đối tượng. Nếu một đối tượng có khóa phone trong khi đối tượng khác không có, thì tệp CSV sẽ xuất hiện cột phone với các ô trống ở những hàng thiếu. Luôn kiểm tra tính nhất quán của tập hợp các khóa.
  • Quên BOM cho Excel. Excel trên Windows đọc các tệp CSV UTF-8 không có BOM dưới dạng Latin-1 và làm hỏng các ký tự có dấu. Công cụ cung cấp tùy chọn “Thêm tiền tố UTF-8 BOM” cho trường hợp này.
  • Đưa các dòng mới vào giá trị: Được chấp nhận trong định dạng CSV của RFC 4180, tuy nhiên một số công cụ nhập liệu có thể gặp sự cố. Nếu hệ thống đích của bạn dễ bị ảnh hưởng, hãy thay thế \n bằng một khoảng trắng hoặc ký hiệu \\n.
  • Sử dụng Excel với định dạng chuyển đổi hai chiều: Excel sẽ tự động chuyển đổi 007 thành 7, cắt bỏ các số dài và làm hỏng các chữ số 0 ở đầu trong mã định danh. Để đảm bảo tính toàn vẹn dữ liệu, hãy sử dụng định dạng CSV cùng công cụ phân tích phù hợp.

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

Đúng vậy – định dạng CSV vốn có cấu trúc bảng, tương ứng với [{...}, {...}, ...]. Nếu dữ liệu đầu vào của bạn được đóng gói (ví dụ: {"data": [...]}), hãy chỉ truyền phần mảng bên trong, hoặc để công cụ tự động phát hiện nó.

Bạn có thể chọn: phẳng hóa các cột thành dạng ký hiệu chấm (user.name, user.email), giữ nguyên dưới dạng chuỗi JSON trong một cột duy nhất, hoặc chuyển thành chuỗi bằng một dấu phân cách. Chức năng phẳng hóa là mặc định và thường là lựa chọn phù hợp nhất.

Có, nếu bạn chọn dấu phẩy làm dấu phân cách và thiết lập ngôn ngữ phù hợp. Đối với Excel phiên bản châu Âu, hãy chuyển sang dùng dấu chấm phẩy. Đối với các ký tự UTF-8, hãy bật tùy chọn “Thêm tiền tố UTF-8 BOM” để Excel có thể nhận diện mã hóa tương ứng.

Không. Quá trình chuyển đổi được thực hiện trực tiếp trong trình duyệt; dữ liệu JSON không bao giờ rời khỏi máy tính của bạn. An toàn cho các phản hồi API nhạy cảm hoặc các bản sao dữ liệu nội bộ.

Công cụ liên quan

Công cụ này có phiên bản bằng các ngôn ngữ khác