Những điểm chính
- 01Định dạng YAML với thụt lề nhất quán bằng cách sử dụng trình phân tích js-yaml — cùng một thư viện được sử dụng trong công cụ xây dựng Node.js.
- 02Xác thực cú pháp và báo cáo số dòng chính xác cho các lỗi.
- 03Chuyển đổi giữa YAML và JSON theo cả hai hướng với bảo tồn loại chính xác.
- 04Không có gì được tải lên — toàn bộ hoạt động chạy cục bộ trong trình duyệt của bạn.
Tại Sao Định Dạng YAML Quan Trọng Cho Tệp Cấu Hình
YAML là ngôn ngữ cấu hình mặc định cho Kubernetes, GitHub Actions, Docker Compose, biểu đồ Helm và nhiều công cụ khác. Nó cũng nổi tiếng là nhạy cảm với thụt lề — một dòng thụt lề sai có thể tạo ra sự không khớp loại im lặng hoặc lỗi phân tích cứng chặn quá trình triển khai. Định dạng thường xuyên giữ tệp nhất quán và bắt các vấn đề trước khi chúng đến CI.
Chuyển đổi giữa YAML và JSON cũng có ích ngang nhau. Một số công cụ chỉ chấp nhận JSON cho các cuộc gọi API hoặc định nghĩa lược đồ, trong khi con người nói chung thích YAML cho các tệp cấu hình dài hạn. Có khả năng round-trip giữa hai loại mà không mất dữ liệu — các số vẫn là số, boolean vẫn là boolean — tiết kiệm thời gian và ngăn chặn các lỗi tinh tế.
Cách Định Dạng hoặc Chuyển Đổi YAML
- 01
Dán YAML hoặc JSON của bạn
Dán một bản kê khai Kubernetes, quy trình làm việc GitHub Actions, tệp giá trị Helm hoặc bất kỳ tài liệu YAML nào khác. Để chuyển đổi JSON sang YAML, hãy dán JSON thay thế.
- 02
Chọn một hành động
Chọn Format YAML để chuẩn hóa thụt lề và làm sạch tài liệu tại chỗ. Chọn YAML to JSON hoặc JSON to YAML để chuyển đổi định dạng hoàn toàn.
- 03
Xem lỗi nếu có
Nếu đầu vào có lỗi cú pháp, công cụ sẽ hiển thị số dòng chính xác và lý do từ trình phân tích js-yaml — cùng một trình phân tích mà công cụ Node.js của bạn sử dụng, vì vậy lỗi khớp những gì bạn sẽ thấy trong sản xuất.
- 04
Sao chép đầu ra
Nhấp vào Sao chép để lấy đầu ra được định dạng hoặc chuyên đổi. Dán nó trở lại tệp cấu hình, một phần thân API hoặc định nghĩa lược đồ.
Khi Công Cụ Này Tiết Kiệm Thời Gian Của Bạn
- 01Bản kê khai Kubernetes đã trôi — chuẩn hóa thụt lề trước khi cam kết.
- 02Quy trình làm việc GitHub Actions không thể phân tích — xác thực để lấy dòng lỗi chính xác.
- 03API chỉ chấp nhận JSON nhưng cấu hình được lưu trữ dưới dạng YAML — chuyển đổi với một cú nhấp chuột.
- 04Onboarding một dịch vụ mới — chuyển đổi tải trọng ví dụ JSON sang YAML cho biểu đồ Helm.
- 05Sao chép YAML từ Stack Overflow — định dạng lại để khớp với kiểu 2 dấu cách của dự án bạn.
- 06Gỡ lỗi quá trình hợp nhất giá trị Helm — xác thực rằng mỗi values.yaml là hoàn toàn sạch.
Riêng Tư, Không Cần Tải Lên
Định dạng và chuyển đổi chạy hoàn toàn trong trình duyệt của bạn bằng cách sử dụng js-yaml — thư viện tương tự được gộp vào Webpack, Rollup và hầu hết các công cụ xây dựng JavaScript. Tệp cấu hình, tham chiếu bí mật và tên biến môi trường của bạn không bao giờ rời khỏi thiết bị của bạn.
Trình phân tích nhắm đến YAML 1.2, đó là những gì Kubernetes, GitHub Actions và Docker Compose sử dụng. Nếu một tệp xác thực ở đây, nó sẽ tải chính xác trong các công cụ đó.
Câu Hỏi Thường Gặp Về Trình Định Dạng YAML
Định dạng YAML sẽ bảo tồn nhận xét không?
Không. Trình phân tích js-yaml tước bình luận trong quá trình phân tích — đây là hạn chế của tất cả các trình phân tích YAML của JavaScript. Định dạng trước, sau đó thêm bình luận lại thủ công.
Phiên bản YAML nào được hỗ trợ?
YAML 1.2, là phiên bản được sử dụng bởi Kubernetes, GitHub Actions, Docker Compose và Helm. Những gì xác thực ở đây sẽ tải sạch trong các công cụ đó.
Chuyển đổi từ YAML sang JSON có bảo tồn các loại không?
Có. Số, boolean, null và chuỗi ngày tháng round-trip chính xác. Một true trong YAML trở thành một boolean true trong JSON, không phải chuỗi 'true'.
Sự khác biệt giữa định dạng và chuyên đổi là gì?
Định dạng giữ tệp dưới dạng YAML và chuẩn hóa khoảng trắng và thụt lề. Chuyên đổi thay đổi định dạng đầu ra hoàn toàn — YAML sang JSON tạo ra một tài liệu tương thích .json.
YAML của tôi có nhiều tài liệu được phân tách bằng ---. Tất cả chúng sẽ được xử lý không?
Tài liệu đầu tiên được phân tích và phát lại. Đối với các tệp nhiều tài liệu, chia mỗi phần trên --- và xử lý chúng riêng biệt.