Chuyển JSON sang YAML
Viết lại JSON thành YAML để mọi người dễ đọc, dễ review và thêm chú thích. Tải lên file .json và nhận file .yaml thụt lề chuẩn, giữ nguyên khóa, giá trị và thứ tự, sẵn sàng đưa vào repository.
Chuyển đổi dữ liệu
hoặc thả tệp CSV, TSV, TXT … vào đây ·
Tối đa 95 MB mỗi tệp· Tối đa 20 tệp· Xóa sau 30 phút
Tệp được xử lý trên máy chủ của chúng tôi và bị xóa sau 30 phút.
Ký tự ngăn cách các cột trong tệp CSV và văn bản, dùng cho cả đọc và ghi. Tự động sẽ nhận diện từ dữ liệu đầu vào và ghi bằng dấu phẩy.
UTF-8 dùng được cho mọi ngôn ngữ. Chọn UTF-8 có BOM nếu Excel trên Windows hiển thị sai ký tự có dấu hoặc ký tự châu Á khi mở tệp CSV.
Với đầu vào Excel, ODS và Numbers: chỉ chuyển trang tính đầu tiên, hoặc mọi trang tính (mỗi trang tính một tệp CSV trong tệp ZIP, hoặc mỗi trang tính một khóa JSON).
Tên thẻ trang tính trong bảng tính mới, tối đa 31 ký tự.
Mảng đối tượng dùng tên cột làm khóa cho từng dòng; mảng của mảng gọn hơn và giữ tiêu đề làm mảng đầu tiên.
Tên phần tử ngoài cùng bao tất cả các dòng; mỗi dòng trở thành một <row> bên trong nó.
Dùng trong các câu lệnh CREATE TABLE và INSERT. Chỉ gồm chữ cái, chữ số và dấu gạch dưới.
Cách đặt dấu trích dẫn và kiểu cột hơi khác nhau giữa các cơ sở dữ liệu; hãy chọn hệ bạn sẽ nhập vào.
Ghi lại các ô ngày tháng theo một định dạng thống nhất. ISO (2026-10-18) an toàn nhất cho cơ sở dữ liệu và mã nguồn; giữ nguyên để chúng như trong tệp gốc.
Cách sử dụng công cụ này
- 1
Thêm các file JSON
Tải lên phản hồi API, cài đặt đã xuất hoặc manifest được tạo tự động dưới dạng .json, tối đa 20 tệp, mỗi tệp 95 MB. Mỗi tệp phải chứa một giá trị JSON hợp lệ.
- 2
Giữ nguyên cài đặt mặc định
YAML đã được chọn sẵn trong mục Chuyển sang. Với tệp cấu hình, bạn không cần thay đổi gì thêm; kết quả dùng thụt lề hai dấu cách.
- 3
Chuyển đổi và commit
Nhấn Chuyển sang YAML, tải xuống các tệp .yaml, thêm chú thích ở những chỗ người đọc sau cần đến, rồi commit.
Làm thế nào để chuyển JSON sang YAML?
Tải lên tệp .json và nhấn Chuyển sang YAML. Đối tượng trở thành các khối key: value thụt lề, mảng trở thành danh sách có dấu gạch ngang, và các chuỗi mà YAML có thể hiểu nhầm vẫn giữ dấu nháy.
Vì sao nên chuyển JSON sang YAML cho file cấu hình
Phần lớn JSON do phần mềm tạo ra: phản hồi API, bản xuất cài đặt, đầu ra của một trình sinh. Phần lớn YAML do con người bảo trì. Việc chuyển đổi thường đánh dấu thời điểm dữ liệu thôi là đầu ra của máy và trở thành thứ một nhóm làm chủ, chẳng hạn manifest triển khai được lưu trong Git, một pipeline CI, hoặc bộ biến Ansible.
Một trường hợp điển hình: bạn gọi API đám mây, nhận về bản mô tả tài nguyên JSON dài 200 dòng và muốn giữ nó làm mã hạ tầng. Chuyển đổi cho bạn một tệp không có dấu ngoặc nhọn và dấu phẩy, nơi thay đổi một dòng chỉ tạo ra diff một dòng và bạn có thể giải thích các giá trị lạ bằng chú thích. Tương tự với dữ liệu kiểm thử và tệp dịch mà người không phải lập trình viên chỉnh sửa. Khi bạn cần một bảng phẳng, cho bảng tính hoặc báo cáo, JSON sang CSV phù hợp hơn.
Các công cụ dùng file cấu hình YAML
| Tổ chức | Yêu cầu | Nguồn |
|---|---|---|
| GitHub Actions | Workflow nằm trong .github/workflows dưới dạng tệp .yml hoặc .yaml | GitHub Docs |
| GitLab CI/CD | Pipeline được định nghĩa trong .gitlab-ci.yml ở thư mục gốc của kho mã | GitLab Docs |
| Docker Compose | Các dịch vụ được mô tả trong compose.yaml (trước đây là docker-compose.yml) | Docker Docs |
| Ansible | Playbook và tệp biến được viết bằng YAML | Ansible Docs |
| Kubernetes | Manifest chấp nhận JSON hoặc YAML; tài liệu và Helm chart dùng YAML | Kubernetes |
Ví dụ chuyển JSON sang YAML với các giá trị dễ gây lỗi
name: api version: "1.10" debug: false tags: - web - châu-âu country: "NO"
YAML mang lại gì
- Chú thích bằng #
- Diff ngắn hơn khi review mã
- Không có dấu ngoặc nhọn, dấu phẩy hay dấu nháy ở hầu hết các dòng
- Văn bản nhiều dòng với khối scalar |
Cần lưu ý
- Thụt lề mang ý nghĩa, nên một dấu cách thừa làm đổi cấu trúc
- Không được dùng tab để thụt lề
- Chuỗi không có dấu nháy có thể bị đọc thành số hoặc boolean
- Trình phân tích chậm hơn và kém đồng nhất hơn JSON
Ví dụ cho thấy vì sao chỉ tìm và thay các dấu ngoặc nhọn là chưa đủ. Phiên bản 1.10 là một chuỗi trong JSON; nếu viết trần trong YAML, nó sẽ bị đọc thành số 1.1. NO, mã ISO của Na Uy, sẽ bị các trình phân tích YAML 1.1 như PyYAML đọc thành false. Cả hai đều giữ dấu nháy, còn số và boolean thật vẫn để trần.
So sánh JSON và YAML
JSON
Dữ liệu JavaScript Object Notation (JSON)
JSON là định dạng văn bản gọn nhẹ cho dữ liệu có cấu trúc, được Douglas Crockford phổ biến đầu thập niên 2000 và chuẩn hóa thành RFC 8259 và ECMA-404. Định dạng biểu diễn object, mảng, chuỗi, số, boolean và null bằng cú pháp đơn giản, dễ đọc. JSON là định dạng mặc định cho API web, tệp cấu hình và trao đổi dữ liệu giữa các ứng dụng trong hầu hết ngôn ngữ lập trình. Định dạng không có sẵn chú thích, kiểu ngày tháng hay schema, và tệp lớn lồng nhiều cấp rất khó đọc nếu không có trình xem.
- Nén
- –
- Độ trong suốt
- –
- Ảnh động
- –
- Ra mắt
- 2001 · Douglas Crockford
YAML
YAML
YAML ("YAML Ain't Markup Language") là định dạng dữ liệu thân thiện với con người, phát hành lần đầu năm 2001. Định dạng dùng thụt lề thay cho dấu ngoặc, hỗ trợ chú thích và là tập cha (superset) của JSON. YAML được dùng rộng rãi cho cấu hình trong Docker Compose, Kubernetes, GitHub Actions và nhiều ứng dụng khác. Do phụ thuộc vào khoảng trắng, chỉ một dấu cách đặt sai cũng có thể làm hỏng tệp, và một số giá trị như "no" hoặc ngày tháng có thể bị diễn giải ngoài ý muốn.
- Nén
- –
- Độ trong suốt
- –
- Ảnh động
- –
- Ra mắt
- 2001 · Clark Evans, Ingy döt Net, Oren Ben-Kiki
Người ta chuyển JSON sang YAML khi dữ liệu được tạo tự động hoặc từ API phải trở thành tệp cấu hình mà con người bảo trì, review trong pull request và ghi chú bằng comment.
Câu hỏi thường gặp về chuyển JSON sang YAML
JSON có phải đã là YAML hợp lệ không?
Với YAML 1.2 thì có: bản sửa đổi năm 2009 được viết để mọi tài liệu JSON đều là tài liệu YAML hợp lệ. Bạn có thể dán JSON vào tệp .yaml và hầu hết công cụ đều chấp nhận. Việc chuyển đổi nhằm giúp dễ đọc hơn: kiểu khối không có dấu ngoặc nhọn, dấu nháy và dấu phẩy là thứ người review và người bảo trì sau mong đợi.
Vì sao một số giá trị trong YAML được đặt trong dấu ngoặc kép?
Vì nếu không có dấu nháy, YAML sẽ hiểu chúng thành kiểu dữ liệu khác. Chuỗi phiên bản như 1.10 sẽ thành số 1.1, còn yes hoặc off có thể thành giá trị boolean ở các trình phân tích cũ. Chuỗi trông giống số, ngày hoặc boolean cần có dấu nháy để vẫn là chuỗi, nên một bản chuyển đổi cẩn thận sẽ giữ lại chúng.
Có thể thêm chú thích sau khi chuyển đổi không?
Có, và đó là một lý do phổ biến để chuyển đổi. Viết # rồi đến ghi chú của bạn ở cuối dòng hoặc trên một dòng riêng. JSON không có cách nào giải thích vì sao một giá trị được đặt như vậy; YAML thì có, giúp việc review và bàn giao dễ hơn.
Vì sao file YAML báo lỗi ký tự tab?
Đặc tả YAML cấm dùng tab để thụt lề; chỉ dấu cách mới được tính. Công cụ chuyển đổi ghi bằng dấu cách, nhưng trình soạn thảo đặt chèn tab có thể làm hỏng tệp ở lần sửa tiếp theo. Hãy đặt trình soạn thảo dùng dấu cách cho tệp .yaml.
Kubernetes có chấp nhận manifest đã chuyển đổi không?
kubectl đọc được cả JSON lẫn YAML nên dữ liệu giống nhau; bản YAML chỉ đơn giản là thứ mà phần lớn tài liệu, Helm chart và code review sử dụng. Nếu sau này bạn cần JSON trở lại cho jq hoặc một lệnh gọi API, YAML sang JSON sẽ chuyển ngược lại.
- Chuyển YAML sang JSONChuyển file .yaml và .yml sang JSON cho API, trình kiểm tra và công cụ chỉ đọc JSON. Mặc định định dạng thụt lề, tối đa 20 file mỗi lần, xóa sau 30 phút.
- Chuyển JSON sang XMLChuyển JSON sang XML online: khóa thành phần tử, mảng thành phần tử lặp lại, nằm trong thẻ gốc bạn đặt tên. Định dạng đẹp, không cần tài khoản.
- Chuyển JSON sang CSVChuyển JSON hoặc JSON Lines sang CSV: mỗi đối tượng một dòng, trường lồng nhau tách thành cột, UTF-8 có BOM để Excel hiển thị đúng dấu. 20 file cùng lúc.
- Chuyển XML sang JSONChuyển XML sang JSON dễ đọc: thuộc tính thành khóa @, thẻ lặp lại thành mảng, văn bản giữ nguyên. Dùng cho phản hồi SOAP, feed và dữ liệu xuất từ hệ thống cũ.
- Chuyển JSON sang Base64Mã hóa file JSON thành một dòng Base64 cho Kubernetes Secret, biến CI, payload API và token. Giải mã lại đúng từng byte, có thể thêm data URI.
- Chuyển JSON sang ExcelChuyển JSON hoặc JSON Lines thành bảng Excel XLSX: khóa thành tiêu đề cột, mỗi bản ghi thành một hàng. Tối đa 20 file mỗi lượt, không cần tài khoản.