Cách dùng YAML sang JSON
- Dán YAML vào khung YAML, mở file
.yaml/.yml, hoặc nhấn Tải mẫu. - JSON sẽ hiện ra ngay lập tức. Chọn thụt lề 2 dấu cách, 4 dấu cách hoặc tab cho đầu ra JSON.
- Nếu YAML không hợp lệ, thông báo lỗi sẽ chỉ rõ dòng và cột, đồng thời tô sáng vị trí lỗi.
- Nhấn Sao chép hoặc Tải xuống để lưu
data.json.
Chuyển đổi YAML sang JSON là gì?
YAML được thiết kế cho con người: dùng thụt lề thay cho dấu ngoặc nhọn, quote và comment là tùy chọn. JSON được thiết kế cho máy và API. Chuyển YAML sang JSON giúp bạn đưa file cấu hình vào công cụ hoặc API chỉ hỗ trợ JSON, kiểm tra theo JSON Schema, hoặc xem chính xác parser YAML hiểu thụt lề của bạn như thế nào — cách nhanh nhất để tìm ra vì sao một giá trị lại nằm sai vị trí.
Công cụ hỗ trợ những gì
- Anchors, aliases và merge keys —
&defaults,*defaultsvà<<: *defaults(phổ biến trong Docker Compose và GitLab CI) sẽ được mở rộng thành JSON thuần. - Nhiều tài liệu — file có nhiều tài liệu ngăn cách bởi
---(thường gặp trong Kubernetes) sẽ thành một mảng JSON, mỗi phần tử là một tài liệu. - Block scalars —
|giữ nguyên ngắt dòng, còn>gộp chúng thành dấu cách. - Comment được YAML cho phép nhưng sẽ bị bỏ khi chuyển sang JSON, vì JSON không có cú pháp comment.
Kiểu dữ liệu được xác định thế nào (YAML 1.2)
Parser tuân theo core schema của YAML 1.2, giống các công cụ hiện đại. Các scalar thuần sẽ được chuyển thành kiểu JSON như sau:
| YAML | JSON | Ghi chú |
|---|---|---|
true, False | true, false | Boolean |
yes, on, NO | "yes", "on", "NO" | Là chuỗi trong YAML 1.2 (là boolean trong parser 1.1 cũ) |
~, null, giá trị rỗng | null | |
0x1F, 0o17, 1e3 | 31, 15, 1000 | Số |
2024-05-01 | "2024-05-01" | Giữ nguyên dạng chuỗi |
.inf, .nan | null | JSON không có infinity/NaN |
Các lỗi YAML thường gặp
Dùng tab để thụt lề là không được phép — hãy dùng dấu cách. Thụt lề không nhất quán (“bad indentation of a mapping entry”) xảy ra khi các khóa cùng cấp không thẳng hàng. Dấu hai chấm không có quote — title: Note: read me — sẽ khiến parser bối rối; hãy đặt giá trị trong dấu nháy. Khóa trùng lặp trong cùng một mapping sẽ bị báo lỗi. Sau khi chuyển đổi, bạn có thể làm gọn kết quả bằng công cụ định dạng JSON hoặc tạo kiểu dữ liệu với JSON sang TypeScript. Để đi theo chiều ngược lại, hãy dùng JSON sang YAML.
Cũng được tìm dưới tên: chuyển yaml sang json, yml sang json, công cụ chuyển đổi yaml sang json, kiểm tra cú pháp yaml, yaml parser, yaml validator, yaml2json, yaml lint.
Các công cụ dùng kèm tốt với YAML sang JSON
- CSV sang JSON — Dán CSV hoặc TSV để nhận mảng JSON gồm các object.
- 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ả.
- Kiểm tra OpenAPI / Swagger — Dán đặc tả API vào để kiểm tra theo schema OpenAPI chính thức, phát hiện tham chiếu hỏng và tham số path không nhất quán, đồng thời xem toàn bộ endpoint chỉ trong một cái nhìn.
Câu hỏi thường gặp
Công cụ có hỗ trợ file Docker Compose và Kubernetes không?
<< sẽ được xử lý, còn file Kubernetes nhiều tài liệu ngăn cách bởi --- sẽ được trả về dưới dạng một mảng JSON.Vì sao "yes" được chuyển thành chuỗi chứ không phải true?
true/false (viết hoa hay thường đều được) mới là boolean. yes, no, on và off từng là boolean trong YAML 1.1 và gây ra nhiều lỗi, nên các parser hiện đại coi chúng là chuỗi.