Chuyển từ CSV sang JSON

CSV là định dạng bạn thường nhận được từ các bảng tính và dữ liệu xuất từ cơ sở dữ liệu; trong khi đó, JSON lại là định dạng mà các API, giao diện phía trước bằng JavaScript và các tệp cấu hình hiện đại yêu cầu sử dụng. Công cụ chuyển đổi này nhận một tệp CSV có hàng tiêu đề và tạo ra một mảng các đối tượng JSON, trong đó mỗi hàng tiêu đề trở thành một khóa và mỗi dòng dữ liệu tương ứng với một đối tượng riêng biệt. Kết quả đầu ra được in rõ ràng với ký tự Unicode không bị thoát và dấu gạch chéo (/), giúp bạn có thể dán trực tiếp vào yêu cầu Postman hoặc tệp JS.

Cách chuyển đổi tệp CSV thành định dạng JSON

  1. 1

    Dán tệp CSV

    Nó phải chứa ít nhất một hàng tiêu đề và một hàng dữ liệu; nếu không, công cụ sẽ trả về lỗi.

  2. 2

    Hàng tiêu đề thiết lập các khóa

    Dòng thứ 1 được phân tích bằng công cụ `str_getcsv`; các tên cột sau khi loại bỏ khoảng trắng sẽ trở thành các khóa JSON.

  3. 3

    Mỗi hàng dữ liệu trở thành một đối tượng.

    Các giá trị được căn chỉnh với các tiêu đề theo vị trí; các ô trống sẽ được hiển thị dưới dạng chuỗi rỗng.

  4. 4

    Sao chép định dạng JSON đẹp này

    Đã được định dạng theo các định dạng JSON_PRETTY_PRINT, JSON_UNESCAPED_UNICODE và JSON_UNESCAPED_SLASHES để hiển thị rõ ràng trong mọi trình soạn thảo.

Cách chuyển đổi xử lý các kiểu dữ liệu và các trường hợp đặc biệt

CSV về bản chất là không phân loại kiểu dữ liệu: mỗi ô đều là một chuỗi văn bản. Trong khi đó, JSON sử dụng các kiểu dữ liệu cụ thể. Bộ chuyển đổi luôn ưu tiên an toàn và giữ nguyên mọi giá trị dưới dạng chuỗi JSON, bạn sẽ không bao giờ gặp trường hợp một số bị chuyển thành văn bản mà không hiển thị giá trị thực, hay một mã định danh có tiền tố “0” bị mất các chữ số 0 đầu tiên.

Ví dụ

Đầu vào CSV:

name,age,email
Alice,30,alice@example.com
Bob,25,bob@example.com

JSON đầu ra:

[
  { "name": "Alice", "age": "30", "email": "alice@example.com" },
  { "name": "Bob",   "age": "25", "email": "bob@example.com"   }
]

Lưu ý rằng age là một chuỗi ký tự, chứ không phải số. Nếu bạn cần các kiểu dữ liệu số, hãy xử lý sau khi sử dụng Number(row.age) trong JavaScript, hoặc sử dụng Công cụ Chuyển đổi CSV sang JSON – công cụ này cung cấp nhiều tùy chọn hơn về việc định dạng dữ liệu.

Các trường hợp đặc biệt

Tình huống Hành vi
Hàng dữ liệu trống Bị bỏ qua một cách lặng lẽ; không có đối tượng rỗng trong kết quả đầu ra.
Hàng ngắn hơn tiêu đề Các trường bị thiếu sẽ được xuất ra dưới dạng chuỗi rỗng.
Hàng dài hơn tiêu đề Các ô dư sẽ bị loại bỏ.
Tên tiêu đề trùng lặp Các khóa sau sẽ ghi đè các khóa trước trong đối tượng kết quả.
Tiêu đề kèm khoảng trắng xung quanh Được cắt bỏ khoảng trắng trước khi dùng làm khóa.

Thời điểm nên chọn công cụ chuyển đổi CSV sang JSON khác

Đây là công cụ chuyển đổi đơn giản – với các thiết lập mặc định hợp lý và không có tùy chọn phức tạp nào. Hãy sử dụng Công cụ Chuyển đổi từ CSV sang JSON khi cần dùng dấu phân cách không phải dấu phẩy, tắt hàng tiêu đề, hoặc chuyển đổi giữa định dạng đầu ra gọn gàng và định dạng trình bày đẹp mắt.

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

Không phải từ bộ chuyển đổi đơn giản này. Mỗi giá trị đều được xuất dưới dạng chuỗi JSON, giữ nguyên các ID như 00123 và các số thập phân như 1.50 đúng như cách chúng xuất hiện. Hãy xử lý sau bằng Number() hoặc parseFloat() trong phần mềm tiêu dùng của bạn, hoặc sử dụng bộ chuyển đổi CSV–JSON khác để có thêm các tùy chọn.

Công cụ này yêu cầu một tiêu đề – nó sử dụng tên các tiêu đề làm khóa JSON. Nếu tệp của bạn không có tiêu đề, hãy thêm một dòng như col1,col2,col3 ở đầu tệp, hoặc chuyển sang sử dụng Công cụ Chuyển đổi từ CSV sang JSON, nơi có tùy chọn để vô hiệu hóa các tiêu đề.

Các ký tự Unicode không bị thoát (các dấu phụ, ký tự CJK và biểu tượng emoji đều xuất hiện nguyên văn trong kết quả). Dấu gạch chéo xuôi (/) cũng không bị thoát, do đó các URL trông rất tự nhiên. Các dấu ngoặc kép bên trong giá trị sẽ được thoát đúng cách thành \".

Có. Tệp CSV được gửi đến máy chủ của chúng tôi để tạo ra JSON. Tệp không được lưu trữ và không được thêm vào liên kết của trang.

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