CSV sang JSON API

Chuyển CSV thành mảng object JSON theo dòng tiêu đề, tự nhận dấu phân cách, tự chuyển số và boolean, báo lỗi từng dòng.

POSThttps://apibox.io.vn/v1/csv-to-json
Dữ liệu & JSON▶ Dùng thử online

Gửi nội dung CSV qua trường csv hoặc body thô text/csv / text/plain. Mặc định dòng đầu là tiêu đề và mỗi dòng sau trở thành một object (rows), còn fields liệt kê tên các cột. Đặt header=false để nhận mảng giá trị thay cho object.

Dấu phân cách (phẩy, chấm phẩy, tab, gạch đứng...) được tự động nhận diện, hoặc chỉ định bằng delimiter. Số và boolean được chuyển sang kiểu JSON tương ứng (dynamic_typing, bật mặc định); đặt dynamic_typing=false để giữ mọi giá trị là chuỗi. Hỗ trợ trường có dấu ngoặc kép chứa dấu phẩy, xuống dòng, và bỏ qua dòng trống.

Kết quả còn có row_count, delimiter đã dùng và tối đa 50 lỗi errors (dòng, thông báo, mã lỗi), ví dụ dòng thiếu cột. Body request tối đa 5 MB.

Tham số

TênVị tríKiểuBắt buộcMặc định
csvbodystringcóNội dung CSV. Có thể gửi dưới dạng body thô text/csv hoặc text/plain.
headerbody|querybooleankhôngtrueDùng dòng đầu làm tên cột và trả về object.
delimiterbody|querystringkhôngDấu phân cách; tự nhận diện nếu để trống.
dynamic_typingbody|querybooleankhôngtrueChuyển số và boolean sang kiểu JSON tương ứng.

Ví dụ

curl -X POST "https://apibox.io.vn/v1/csv-to-json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"csv":"name,age,city\nAlice,30,Hanoi\nBob,25,\"Ho Chi Minh City\""}'

Kết quả trả về

{
  "rows": [
    {
      "name": "Alice",
      "age": 30,
      "city": "Hanoi"
    },
    {
      "name": "Bob",
      "age": 25,
      "city": "Ho Chi Minh City"
    }
  ],
  "row_count": 2,
  "fields": [
    "name",
    "age",
    "city"
  ],
  "delimiter": ",",
  "errors": []
}

Ứng dụng

  • Nhập dữ liệu xuất từ Excel, Google Sheets vào ứng dụng
  • Chuyển báo cáo CSV thành JSON cho frontend hoặc thư viện biểu đồ
  • Nạp dữ liệu mẫu CSV vào cơ sở dữ liệu NoSQL
  • Kiểm tra file CSV người dùng tải lên và báo các dòng lỗi

Hỏi đáp

Dấu phân cách có được tự nhận diện không?

Có. Dấu phẩy, chấm phẩy, tab và các dấu phổ biến khác được tự nhận diện; dùng delimiter để chỉ định cụ thể.

Số được chuyển kiểu hay giữ nguyên dạng chuỗi?

Mặc định số và boolean được chuyển kiểu. Gửi dynamic_typing=false để giữ mọi giá trị là chuỗi (hữu ích với mã bưu chính, mã số có số 0 ở đầu).

CSV không có dòng tiêu đề thì sao?

Đặt header=false, mỗi dòng sẽ được trả về dạng mảng và fields là null.

API liên quan

Bắt đầu với 1.000 request miễn phí mỗi tháng. Nhận API key miễn phí →