tigtools

Trình chuyển đổi JSON sang YAML

Dán JSON và nhận YAML kiểu khối cho tệp cấu hình, Kubernetes manifest hoặc pipeline CI. Không có dữ liệu nào được tải lên.

Chạy ngay trên trình duyệt Không cần đăng ký

Thụt lề

Chuyển YAML sang JSON

Cách sử dụng

  1. Dán JSON vào ô nhập, hoặc thử ví dụ.
  2. Chọn thụt lề 2 hoặc 4 dấu cách.
  3. Sao chép YAML hoặc tải xuống dưới dạng tệp .yaml.

Cách hoạt động

JSON được phân tích cú pháp chặt chẽ; lỗi cú pháp được giải thích kèm dòng và cột (dấu phẩy cuối, dấu nháy đơn, chú thích và các lỗi tương tự). Sau đó dữ liệu được ghi dưới dạng YAML kiểu khối bằng thư viện yaml mã nguồn mở, giữ nguyên thứ tự khóa và không bao giờ ngắt dòng các chuỗi dài.

Các chuỗi mà trình phân tích YAML 1.1 cũ có thể hiểu thành kiểu khác sẽ được đặt trong dấu ngoặc kép: yes, no, on, off, các số có số 0 ở đầu như 0777, và các giá trị giống ngày như 2024-01-31. Nhờ vậy YAML có cùng ý nghĩa dù được đọc bằng trình phân tích nào. Chuỗi nhiều dòng được ghi sao cho các dấu ngắt dòng được bảo toàn.

Số, boolean và null trong JSON ánh xạ trực tiếp sang YAML. Để chuyển ngược lại, hãy dùng YAML sang JSON, hoặc bộ chuyển đổi hai chiều JSON ⇄ YAML.

Ví dụ

Manifest Kubernetes

Dán JSON từ lệnh kubectl get -o json và nhận cùng đối tượng dưới dạng YAML để bạn có thể chỉnh sửa và áp dụng.

Các giá trị phải giữ nguyên dạng chuỗi

{"enabled": "on", "mode": "0755"} trở thành enabled: "on" và mode: "0755", nên không giá trị nào bị chuyển thành boolean hoặc số bát phân.

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

Tại sao một số giá trị nằm trong dấu ngoặc kép?

Vì nếu không có dấu ngoặc kép, một số trình phân tích YAML sẽ đọc chúng thành boolean, số hoặc ngày. Việc đặt trong dấu ngoặc kép giữ chúng là chuỗi.

Tôi có thể chuyển đổi JSON có chú thích không?

Không. Chú thích không hợp lệ trong JSON; thông báo lỗi cho biết vị trí chú thích để bạn có thể xóa nó.

Thứ tự khóa có được giữ nguyên không?

Có. Các khóa được ghi theo đúng thứ tự như trong JSON.

Quyền riêng tư

Việc chuyển đổi chạy hoàn toàn trong trình duyệt của bạn. JSON và YAML của bạn không bị tải lên hoặc lưu trữ.