Cách dùng JSON sang YAML
- Dán JSON vào khung JSON, mở file
.json, hoặc nhấn Tải ví dụ. - Khung YAML sẽ cập nhật ngay lập tức. Chọn thụt lề YAML là 2 hoặc 4 dấu cách, và tùy chọn sắp xếp khóa hoặc đặt dấu ngoặc kép cho mọi chuỗi.
- Nếu muốn, bạn có thể sửa trực tiếp YAML — khung JSON cũng sẽ tự cập nhật.
- Nhấn Sao chép hoặc Tải xuống để lưu
data.yaml.
Công cụ chuyển JSON sang YAML làm gì?
Công cụ phân tích một tài liệu JSON rồi viết lại đúng dữ liệu đó dưới dạng YAML. Vì YAML 1.2 là tập mở rộng của JSON, mọi giá trị JSON đều có tương đương YAML chính xác: object trở thành mapping, mảng trở thành sequence (- item), còn chuỗi, số, boolean và null giữ nguyên kiểu dữ liệu. Kết quả thường ngắn hơn 20–40% và dễ đọc, dễ sửa tay hơn nhiều, đó là lý do YAML là chuẩn cho Kubernetes, Docker Compose, GitHub Actions, Ansible và đặc tả OpenAPI.
Ví dụ
JSON này:
{
"service": "api",
"replicas": 3,
"ports": [8080, 9090],
"env": {"LOG_LEVEL": "info"}
}
sẽ thành YAML này:
service: api
replicas: 3
ports:
- 8080
- 9090
env:
LOG_LEVEL: info
Cách chuỗi được đặt dấu ngoặc kép
Công cụ (dùng thư viện js-yaml phổ biến) chỉ thêm dấu ngoặc kép khi cần để giữ giá trị là chuỗi. Các giá trị như "yes", "on", "123", "null" hoặc "2024-01-01" được đặt trong ngoặc kép, vì nếu yes không có ngoặc thì trình phân tích YAML 1.1 sẽ hiểu nó là boolean (đây là “lỗi Na Uy” nổi tiếng, khi mã quốc gia NO bị đổi thành false). Chuỗi chứa : , # hoặc khoảng trắng ở đầu cũng được đặt trong ngoặc kép. Chuỗi nhiều dòng được ghi dưới dạng block scalar (|-) để giữ xuống dòng dễ đọc. Bật Đặt ngoặc kép cho mọi chuỗi nếu công cụ phía sau yêu cầu mọi chuỗi đều có ngoặc kép.
So sánh nhanh JSON và YAML
| JSON | YAML | |
|---|---|---|
| Chú thích | Không được phép | # chú thích |
| Cấu trúc | Dấu ngoặc nhọn và vuông | Thụt lề |
| Dấu ngoặc kép | Bắt buộc với khóa và chuỗi | Thường không bắt buộc |
| Chuỗi nhiều dòng | Escape \n | Block scalar | và > |
| Tái sử dụng | Không có | Anchor & và alias * |
| Phù hợp nhất | API, trao đổi dữ liệu | Cấu hình do con người chỉnh sửa |
Mẹo cho file cấu hình
Thụt lề trong YAML phải dùng dấu cách, không dùng tab. Hai dấu cách là quy ước cho Kubernetes và hầu hết hệ thống CI. Sau khi chuyển đổi, bạn có thể thêm chú thích để giải thích các thiết lập, điều mà JSON không làm được. Muốn làm ngược lại, hãy dùng công cụ chuyển YAML sang JSON; để định dạng JSON trước, hãy chạy qua JSON Formatter.
Cũng được tìm dưới tên: chuyển json sang yaml, json sang yml, công cụ chuyển json sang yaml, bộ chuyển đổi json yaml, json2yaml, kubernetes yaml, tạo yaml online.
Các công cụ dùng kèm tốt với JSON sang YAML
- JSON sang CSV — Chuyển mảng JSON thành file CSV sẵn sàng cho bảng tính.
- JSON sang TypeScript — Dán một mẫu JSON như phản hồi API hay file cấu hình, bạn sẽ nhận ngay các TypeScript interface sẵn sàng dùng, với kiểu lồng nhau, thuộc tính optional và union type.
- Kiểm tra JSON Schema — Dán schema và dữ liệu JSON để xem chính xác giá trị nào vi phạm quy tắc nào, hoặc tạo schema ban đầu từ dữ liệu mẫu.
- Kiểm Thử JSONPath — Nhập truy vấn JSONPath và xem ngay nó chọn ra những gì, kèm đường dẫn chính xác của từng kết quả.
Câu hỏi thường gặp
YAML có phải là tập mở rộng của JSON không?
Tại sao một số chuỗi trong kết quả YAML của tôi có dấu ngoặc kép?
"yes", "off", "0123" hoặc "1.0" sẽ bị hiểu là boolean hoặc số nếu không có ngoặc kép, nên chúng được đặt trong ngoặc kép để giữ đúng là chuỗi.Tôi có thể chuyển JSON sang YAML cho Kubernetes không?
kubectl get … -o json và bạn sẽ nhận được YAML có thể lưu thành manifest. Hãy xóa các trường do server tạo như status, uid và resourceVersion trước khi áp dụng lại.