Công cụ này làm gì
Công cụ này chuyển YAML sang JSON và JSON sang YAML. YAML được ưa chuộng cho cấu hình (Kubernetes, Docker Compose, GitHub Actions, đặc tả OpenAPI) vì dễ đọc và dễ viết bằng tay. JSON lại là thứ mà hầu hết chương trình, API và trình duyệt sử dụng. Chuyển đổi qua lại giúp bạn kiểm tra hợp lệ một cấu hình, đưa nó vào một script, hoặc biến phản hồi API thành một tệp cấu hình dễ đọc.
Cách sử dụng
- Dán YAML vào ô Đầu vào, thả tệp
.yamlhoặc.ymlvào đó, hoặc nhấn Ví dụ. - JSON xuất hiện ở bên phải ngay khi bạn gõ. Chọn thụt lề 2 hoặc 4 dấu cách.
- Chuyển Chiều chuyển đổi sang JSON → YAML để chuyển theo chiều ngược lại. Chuỗi dài không bao giờ bị ngắt dòng, nên giá trị luôn nằm trên một dòng.
- Sao chép hoặc tải kết quả xuống.
Nếu YAML không hợp lệ, thông báo lỗi sẽ hiển thị dòng và cột, và nhấn vào đó sẽ đưa con trỏ tới vị trí lỗi. Các lỗi thường gặp là thụt lề không nhất quán, dùng tab để thụt lề, thiếu dấu cách sau dấu hai chấm, và khóa trùng lặp trong cùng một mapping.
Ví dụ
name: devtools
ports:
- 80
- 443
database:
host: db.internal
trở thành
{
"name": "devtools",
"ports": [80, 443],
"database": { "host": "db.internal" }
}
Những điều cần biết về YAML
YAML đoán kiểu dữ liệu từ giá trị thuần: 3 là số, true là boolean, null và ~ nghĩa là null, còn 1.2.0 vẫn là chuỗi vì nó không phải số hợp lệ. Hãy đặt giá trị trong dấu nháy khi bạn muốn nó giữ nguyên là văn bản, ví dụ một mã bưu chính như "01234". Anchor (&name) và alias (*name) cho phép tái sử dụng một khối; công cụ chuyển đổi sẽ triển khai chúng thành các bản sao đầy đủ trong JSON. Block scalar viết bằng | giữ nguyên ký tự xuống dòng, còn > gộp các dòng thành một đoạn văn.
Câu hỏi thường gặp
› YAML của tôi có bị gửi lên máy chủ không?
Không. Bộ phân tích YAML chạy trong trình duyệt của bạn, nên manifest Kubernetes, pipeline CI và các tệp cấu hình chứa thông tin bí mật không bao giờ rời khỏi thiết bị.
› Hỗ trợ phiên bản YAML nào?
YAML 1.2, tiêu chuẩn hiện hành, bao gồm anchor và alias, collection dạng block và flow, chuỗi nhiều dòng và chú thích.
› Tệp chứa nhiều tài liệu sẽ được xử lý thế nào?
Các tài liệu phân tách bằng `---` được chuyển thành một mảng JSON, mỗi tài liệu một phần tử. Tài liệu trống sau dấu `---` ở cuối sẽ bị bỏ qua.
› Chú thích có được giữ lại khi chuyển JSON sang YAML không?
JSON không có chú thích, nên không có gì để giữ. Khi chuyển YAML sang JSON, chú thích bị bỏ đi vì JSON không biểu diễn được chúng.