JSON → YAML
Trình chuyển đổi JSON→YAML trực tuyến miễn phí. Chuyển đổi JSON sang YAML 1.2 chỉ với một cú nhấp, tùy chỉnh thụt lề, tự động sửa lỗi cú pháp JSON, tạo tệp cấu hình YAML cho Kubernetes, Docker Compose, GitHub Actions. Toàn bộ xử lý cục bộ trong trình duyệt.
Đề xuất Liên quan
YAML là gì? Tại sao chuyển đổi JSON sang YAML?
YAML (YAML Ain't Markup Language) là định dạng tuần tự hóa dữ liệu thân thiện với con người, được thiết kế để tệp cấu hình dễ đọc và dễ viết. YAML 1.2 là phiên bản ổn định hiện tại, do Clark Evans đề xuất năm 2001. Ngày nay YAML được sử dụng rộng rãi trong cấu hình của hầu hết các công cụ DevOps chính: Kubernetes, Docker Compose, GitHub Actions, Ansible, CircleCI, Prometheus.
JSON và YAML có quan hệ tập cha-con (JSON là tập con của YAML). Chuyển đổi có ý nghĩa thực tiễn lớn: ① tăng khả năng đọc — YAML dùng thụt lề thay vì ngoặc nhọn và dấu phẩy; ② hỗ trợ chú thích — YAML hỗ trợ # chú thích; ③ hỗ trợ đa tài liệu; ④ tự động nhận diện kiểu.
Quá trình chuyển đổi là ánh xạ lại cấu trúc dữ liệu: JSON.parse() phân tích văn bản thành AST, hàm dump() của js-yaml duyệt đệ quy các nút. Toàn bộ quá trình hoàn toàn cục bộ, kết quả tương thích 100% với trình phân tích YAML tiêu chuẩn.
Trường hợp sử dụng
- Tạo Kubernetes manifest: chuyển JSON từ Helm template và CI/CD thành Deployment/Service YAML chuẩn
- Cấu hình Docker Compose: chuyển JSON từ nền tảng container thành docker-compose.yml dễ đọc
- GitHub Actions / GitLab CI: chuyển JSON từ script tự động hóa thành YAML pipeline
- Tạo Ansible Playbook: chuyển JSON điều phối tác vụ sang định dạng Ansible
- Thống nhất cấu hình microservice: di chuyển cấu hình JSON sang kho YAML
- Tạo YAML từ Swagger/OpenAPI: chuyển JSON Schema thành đặc tả OpenAPI YAML
- Học cú pháp YAML: quan sát trực quan cách cấu trúc được chuyển đổi
- So sánh định dạng: chuyển đổi nhanh giữa JSON và YAML
Cách Sử dụng
- Dán JSON vào trình soạn thảo bên trái hoặc tải lên tệp .json/.txt hoặc nhấp 'Mẫu' để tải mẫu
- Công cụ tự động chuyển đổi thời gian thực theo YAML 1.2, kết quả bên phải. Chuyển thụt lề trong menu thả xuống
- Khi có lỗi cú pháp JSON, nút 'Sửa JSON' xuất hiện — nhấp để sửa hàng loạt tự động
- Nếu cần thoát Unicode hoặc chuỗi, sử dụng các nút trên thanh công cụ dưới
- Sao chép kết quả bằng nút 'Sao chép' hoặc tải xuống dưới dạng output.yaml
Tính năng
- Đầu ra chuẩn YAML 1.2: tuân thủ đặc tả YAML 1.2 chính thức, dùng trực tiếp trong Kubernetes, Docker Compose, GitHub Actions, Ansible
- Tùy chỉnh thụt lề: chuyển đổi 2/4 dấu cách cho các phong cách mã hóa khác nhau (YAML chính thức khuyến nghị 2 dấu cách)
- Tự động sửa JSON: công cụ tryFixJSON tích hợp phát hiện và sửa dấu phẩy cuối, nháy đơn và chú thích trước khi chuyển đổi
- Chuyển đổi Unicode hai chiều: thoát/bỏ thoát \uXXXX chỉ với một cú nhấp
- Thoát/bỏ thoát chuỗi: thêm hoặc xóa ký tự thoát cho dấu ngoặc kép, dấu gạch chéo ngược và xuống dòng
- Định dạng và nén JSON: định dạng thụt lề hoặc nén thành một dòng
- Chỉnh sửa hai chiều thời gian thực: dán JSON bên trái, kết quả YAML hiện ngay bên phải
- Tải lên và tải xuống tệp: hỗ trợ .json/.txt, tải xuống dưới dạng config.yaml hoặc output.yaml
- Phím tắt: Shift+Cmd/Ctrl+F định dạng, C nén, U Unicode, Z bỏ unicode, / thoát, . bỏ thoát
- Bảng điều khiển kéo được và lịch sử: điều chỉnh độ rộng bảng, tự động lưu 200 mục gần nhất
- Chuyển đến trình định dạng JSON: sau khi chuyển đổi, một cú nhấp để chuyển đến trình định dạng JSON
- Xử lý hoàn toàn cục bộ: tất cả phân tích và chuyển đổi chạy trong JavaScript của trình duyệt
Câu hỏi Thường gặp
Làm thế nào để chuyển đổi JSON sang định dạng YAML?
Dán JSON vào trình soạn thảo bên trái — công cụ sẽ tự động chuyển đổi sang định dạng dễ đọc theo YAML 1.2. Cặp khóa-giá trị trở thành key: value, đối tượng lồng thành phân cấp thụt lề, mảng thành cú pháp `- mục`. Sau khi chuyển đổi có thể sao chép hoặc tải xuống dưới dạng .yaml. Khi có lỗi cú pháp JSON, công cụ sẽ cố gắng tự động sửa.
YAML và JSON phù hợp với những tình huống nào?
YAML — cho cấu hình dễ đọc (Kubernetes, Docker Compose, GitHub Actions, Ansible, CI/CD). JSON — cho phân tích máy và trao đổi dữ liệu (REST API, microservices). Cấu hình dùng YAML, truyền dữ liệu dùng JSON.
Thụt lề 2 hay 4 dấu cách tốt hơn?
YAML chính thức khuyến nghị 2 dấu cách (phong cách Python). Đây là tiêu chuẩn mặc định cho Kubernetes, Docker Compose, GitHub Actions. Một số dự án dùng 4 dấu cách.
YAML tạo ra có dùng trực tiếp trong Kubernetes được không?
Được. Công cụ tuân thủ nghiêm ngặt YAML 1.2, đầu ra đáp ứng yêu cầu cú pháp Kubernetes (kubectl apply). Lưu thành deployment.yaml hoặc service.yaml và áp dụng bằng kubectl apply -f.
Có hỗ trợ tạo YAML đa tài liệu (phân cách bằng ---) không?
Phiên bản hiện tại tập trung vào chuyển đổi tài liệu đơn. Nếu JSON là mảng các đối tượng độc lập, đầu ra sẽ ở định dạng danh sách.
Ký tự tiếng Trung/đặc biệt trong JSON có bị lỗi không?
Không. Công cụ hỗ trợ đầy đủ UTF-8, bao gồm tất cả ký tự Unicode. Để chuyển sang định dạng \uXXXX, dùng nút 'Unicode'.
Dấu ngoặc kép và xuống dòng trong chuỗi JSON được xử lý thế nào?
YAML hỗ trợ nhiều kiểu chuỗi: không ngoặc kép, ngoặc kép, ngoặc đơn, kiểu khối | và kiểu gấp >. Công cụ mặc định xuất ngoặc kép.
Sau khi chuyển đổi, tất cả giá trị có thành chuỗi không?
Mặc định công cụ giữ nguyên kiểu JSON gốc. Để ép tất cả thành chuỗi, bọc giá trị trong ngoặc kép ở JSON nguồn.
Khi chuyển đổi cục bộ, tệp cấu hình có được tải lên không?
Không. Tất cả phân tích, tạo YAML, thoát chuỗi và chuyển đổi Unicode đều diễn ra cục bộ trong JavaScript của trình duyệt. Hoạt động ngoại tuyến.
Xử lý sự cố
JSON báo lỗi «Unexpected token»?
Lỗi cú pháp JSON. Nguyên nhân: dấu phẩy thừa, nháy đơn thay nháy kép, khóa không ngoặc kép, chú thích. Nhấp 'Sửa JSON'.
kubectl apply báo «yaml: invalid character»?
Thường là lỗi thụt lề. Đảm bảo tất cả thụt lề là dấu cách, cùng cấp có số dấu cách bằng nhau.
Thuật ngữ
- YAML
- YAML Ain't Markup Language, định dạng tuần tự hóa dữ liệu thân thiện với con người. Ngôn ngữ cấu hình tiêu chuẩn thực tế cho công cụ DevOps.
- Thụt lề
- YAML biểu thị phân cấp qua thụt lề (chỉ dấu cách, không dùng Tab). Lỗi thụt lề là vấn đề phổ biến nhất của YAML.
- Trình tự (Sequence)
- Biểu diễn mảng trong YAML, mỗi phần tử được biểu thị bằng - phần tử.
- Ánh xạ (Mapping)
- Biểu diễn đối tượng trong YAML, cặp khóa-giá trị biểu thị bằng key: value.
- Kiểu khối (Block Scalar |)
- Biểu diễn đa dòng trong YAML, giữ tất cả dấu xuống dòng và thụt lề.
- YAML 1.2
- Phiên bản ổn định hiện tại của đặc tả YAML. Công cụ tương thích với phiên bản 1.2.2.
Bảng ánh xạ kiểu JSON sang biểu diễn YAML
Công cụ chuyển đổi kiểu JSON sang YAML theo quy tắc:
| Kiểu JSON | Biểu diễn YAML | Ghi chú |
|---|---|---|
| string | name: "Alice" | Mặc định không ngoặc kép, ký tự đặc biệt cần ngoặc kép |
| integer | port: 8080 | YAML tự động nhận diện kiểu số |
| boolean | enabled: true | Chỉ chữ thường true/false |
| null | value: null hoặc ~ | YAML biểu thị giá trị rỗng bằng null hoặc dấu ngã |
Privacy & Security
Tất cả phân tích JSON, tạo YAML, thoát chuỗi, chuyển đổi Unicode, tự động sửa JSON và đọc tệp đều diễn ra cục bộ trong công cụ JavaScript của trình duyệt. Dữ liệu không được gửi qua mạng đến máy chủ. Có thể chuyển đổi an toàn dữ liệu nhạy cảm.
Authoritative References
- yaml.orgĐặc tả chính thức YAML 1.2
- WikipediaYAML — Wikipedia
- KubernetesHướng dẫn chính thức Kubernetes YAML
- DockerTài liệu chính thức Docker Compose
- Nén JSON
- CSV sang JSON
- JSON sang CSV
- JSON Diff
- JSON Escape / Unescape
- Làm phẳng JSON
- Trình định dạng JSON
- Trinh tao JSON
- Truy vấn JSONPath
- Gộp JSON
- Sửa JSON
- Trình Xác Thực JSON Schema
- Sắp xếp JSON
- JSON Stringify
- JSON sang HTML
- JSON sang Java
- JSON sang Markdown
- JSON sang SQL
- JSON sang TOML
- JSON sang TypeScript
- XML sang JSON
- Chuyen JSON sang XML
- YAML sang JSON
- JSON → YAML
- JSON sang Go
- JSON sang Rust
- JSON sang Swift
- JSON sang C#
- JSON sang C++
- JSON sang PHP
- JSON sang Python