Đây là công cụ trực tuyến miễn phí giúp chuyển YAML thành object JSON chuẩn bằng thư viện js-yaml. Mapping và list trong YAML sẽ tự động đổi thành object và array JSON, đồng thời bạn có thể bật hoặc tắt chế độ pretty output. Hàm tryFixYAML tích hợp sẽ tự sửa 5 lỗi phổ biến: tab, dấu nháy chưa đóng, thụt lề sai, định dạng key và khoảng trắng cuối dòng.

Đề xuất Liên quan

Vì sao cần chuyển YAML sang JSON

YAML phù hợp với file cấu hình mà con người cần đọc, vì vậy nó được dùng nhiều trong Kubernetes, Docker Compose, Ansible và GitHub Actions. JSON lại phù hợp hơn với API, JavaScript và xử lý dữ liệu bằng chương trình. Công cụ này giúp chuyển nhanh cấu hình YAML sang JSON chuẩn.

Quá trình chuyển đổi dùng js-yaml để phân tích YAML thành object JavaScript, sau đó serialize thành JSON. Mapping của YAML trở thành object JSON, list trở thành array, còn string, number, boolean và null giữ đúng kiểu tương ứng.

Chế độ pretty tạo JSON dễ đọc với thụt lề 2 dấu cách. Chế độ compact tạo JSON một dòng phù hợp cho truyền qua mạng, lưu trữ hoặc nhúng vào request API.

Trong file YAML thực tế thường có tab, dấu nháy chưa đóng, thụt lề sai hoặc key khó parse. Hàm tryFixYAML tích hợp có thể tự sửa 5 lỗi kiểu này ngay trong trình duyệt.

Trường hợp sử dụng

  • Chuyển Kubernetes manifest hoặc Helm values.yaml sang JSON để dùng với jq, validation hoặc CI/CD
  • Đổi docker-compose.yml sang JSON để đưa vào công cụ hoặc API khác
  • So sánh và xử lý workflow YAML của GitHub Actions hoặc GitLab CI ở dạng JSON
  • Biến Ansible playbook hoặc file cấu hình monitoring thành JSON để xử lý bằng code
  • Chuyển đặc tả OpenAPI / Swagger từ YAML sang JSON cho tool sinh mã
  • Học và minh họa sự khác nhau giữa YAML và JSON về cú pháp và kiểu dữ liệu

Cách Sử dụng

  1. Dán YAML vào khung bên trái hoặc tải file .yaml / .yml / .txt
  2. Sau 400 ms, công cụ sẽ tự động hiển thị kết quả JSON ở khung bên phải
  3. Nếu cần, chuyển giữa chế độ pretty output và compact output
  4. Nếu có lỗi, dùng nút sửa cấu trúc để tự khắc phục các lỗi YAML phổ biến
  5. Sao chép kết quả hoặc tải xuống dưới dạng converted.json

Tính năng

  • Phân tích YAML bằng js-yaml với mapping, list, cấu trúc lồng nhau, chuỗi nhiều dòng, anchor và alias
  • Tự sửa 5 lỗi YAML thường gặp: tab, dấu nháy chưa đóng, thụt lề sai, key có ký tự đặc biệt và khoảng trắng cuối dòng
  • Hỗ trợ JSON pretty với thụt lề 2 dấu cách và JSON nén một dòng
  • Chuyển đổi đệ quy cấu trúc YAML lồng nhau thành object và array JSON
  • Bỏ qua comment YAML nên kết quả chỉ còn dữ liệu JSON thuần
  • Tự động chuyển sau 400 ms kể từ khi dừng nhập để xem kết quả nhanh
  • Hiển thị JSON có tô sáng cú pháp giúp đọc các cấu trúc phức tạp dễ hơn
  • Hỗ trợ tải file, sao chép, tải xuống và khôi phục lịch sử ngay trong trình duyệt
  • Toàn bộ quá trình xử lý diễn ra cục bộ, không gửi cấu hình lên máy chủ

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

Làm sao để chuyển YAML sang JSON?

Dán YAML vào khung bên trái hoặc tải file .yaml / .yml / .txt, công cụ sẽ dùng js-yaml để phân tích và tự động chuyển sang JSON chuẩn. Mapping trong YAML sẽ thành object JSON, còn list sẽ thành array JSON. Quá trình chuyển đổi tự chạy khoảng 400 ms sau khi bạn dừng nhập.

Comment YAML có được giữ lại trong JSON không?

Không. Comment YAML bắt đầu bằng # chỉ phục vụ việc đọc của con người nên sẽ bị bỏ qua khi parse. JSON đầu ra chỉ chứa dữ liệu thuần. Nếu cần giữ chú thích, bạn nên lưu file YAML gốc hoặc thêm field comment riêng trong JSON.

Công cụ có sửa được YAML bị lỗi thụt lề hoặc thiếu dấu nháy không?

Có. tryFixYAML tích hợp có thể tự sửa 5 lỗi phổ biến: tab, dấu nháy chưa đóng, thụt lề không chuẩn, tên key đặc biệt và khoảng trắng cuối dòng. Tuy vậy, nếu cấu trúc YAML hỏng quá nhiều thì bạn vẫn nên kiểm tra thủ công.

Xử lý sự cố

Lỗi parse YAML

Nguyên nhân thường là tab lẫn với khoảng trắng, thụt lề sai, thiếu dấu nháy hoặc thiếu dấu hai chấm. Hãy thử sửa cấu trúc tự động trước.

Comment không xuất hiện trong JSON

JSON không hỗ trợ comment nên các dòng # của YAML sẽ bị bỏ qua. Nếu cần giữ lại, bạn phải lưu riêng.

Anchor và alias biến mất

js-yaml sẽ bung alias trước khi đổi sang JSON. Vì vậy JSON chỉ còn dữ liệu đã mở rộng, không còn ký hiệu tham chiếu.

Ngày tháng thành chuỗi

Dù YAML có thể nhận ra ngày, JSON vẫn xuất ra dưới dạng chuỗi ISO. JSON không có kiểu Date riêng.

YAML nhiều tài liệu

Công cụ hiện hướng tới một tài liệu YAML mỗi lần. File có --- nên được tách nhỏ rồi chuyển riêng.

Thuật ngữ

YAML
Định dạng tuần tự hóa dữ liệu thân thiện với con người, rất phổ biến trong file cấu hình DevOps.
JSON
JavaScript Object Notation, định dạng dữ liệu chuẩn cho API và ứng dụng web.
js-yaml
Thư viện JavaScript phổ biến dùng để parse YAML thành object JavaScript.
Indentation
Thụt lề trong YAML để biểu diễn cấu trúc lồng nhau. Thường dùng khoảng trắng thay vì tab.
Anchor
Cú pháp &name trong YAML để định nghĩa giá trị có thể tái sử dụng.
Alias
Cú pháp *name trong YAML để tham chiếu một anchor đã khai báo.
Pretty Output
Chế độ xuất JSON có xuống dòng và thụt lề giúp dễ đọc hơn.
tryFixYAML
Cơ chế tự sửa lỗi YAML phổ biến trước khi thực hiện chuyển đổi.

Ánh xạ kiểu YAML sang JSON

Các cấu trúc YAML cơ bản được đổi sang JSON như sau.

Kiểu YAMLVí dụ YAMLKết quả JSONQuy tắc
stringname: Alice"name": "Alice"Chuỗi thành chuỗi JSON.
numberage: 30"age": 30Số giữ nguyên là số JSON.
booleanenabled: true"enabled": truetrue / false thành boolean JSON.
sequence- a - b["a", "b"]List YAML thành array JSON.
mappinguser: name: Alice{"user": {"name": "Alice"}}Mapping YAML thành object JSON.

So sánh YAML và JSON

Hai định dạng này cùng mô tả dữ liệu nhưng khác nhau về cách đọc và mục đích sử dụng.

Khía cạnhYAMLJSONGhi chú
Dễ đọccaotrung bìnhYAML hợp với cấu hình con người cần đọc.
Comment# hỗ trợkhông hỗ trợJSON chuẩn không có comment.
Mảng- item[item]YAML dùng dấu gạch ngang, JSON dùng dấu ngoặc vuông.
Ứng dụng chínhcấu hìnhAPI / dữ liệuYAML hợp với config, JSON hợp với truyền dữ liệu.

Các lỗi YAML được tự sửa

tryFixYAML có thể tự sửa một số lỗi phổ biến.

Loại lỗiVí dụSau khi sửaMô tả
Tabkey: valuekey: valueTab được đổi thành khoảng trắng.
Dấu nháy chưa đóngkey: 'valuekey: 'value'Bổ sung dấu nháy còn thiếu.
Khoảng trắng cuối dòngkey: value key: valueXóa khoảng trắng thừa.
Thụt lề sai key: valuekey: valueChuẩn hóa lại thụt lề.

Privacy & Security

Công cụ YAML sang JSON này thực hiện việc phân tích YAML, tuần tự hóa JSON và sửa lỗi hoàn toàn bằng JavaScript trong trình duyệt của bạn. YAML đầu vào và JSON đầu ra không được gửi lên máy chủ. Vì vậy bạn có thể xử lý cục bộ các cấu hình nhạy cảm như Kubernetes secret, API key hoặc thông tin truy cập cơ sở dữ liệu an toàn hơn.

Authoritative References