Công cụ chuyển JSON sang YAML

Dán JSON để nhận YAML sạch cho manifest Kubernetes, Docker Compose, GitHub Actions hoặc bất kỳ file cấu hình nào. Hai bên đều có thể chỉnh sửa và luôn đồng bộ.

Cập nhật
Thụt lề YAML
Thụt lề JSON
Mở file

Cả hai khung đều có thể chỉnh sửa — thay đổi một bên và bên còn lại sẽ cập nhật ngay lập tức.

Dữ liệu của bạn không bao giờ rời khỏi máy tính. Mọi xử lý diễn ra 100% cục bộ trong trình duyệt của bạn.

Công cụ này có hữu ích không?0.0 0 lượt đánh giá
Chuyển YAML sang JSON trực tuyến miễn phíYAML sang JSON →

Cách dùng JSON sang YAML

  1. Dán JSON vào khung JSON, mở file .json, hoặc nhấn Tải ví dụ.
  2. 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.
  3. 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.
  4. 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

JSONYAML
Chú thíchKhông được phép# chú thích
Cấu trúcDấu ngoặc nhọn và vuôngThụt lề
Dấu ngoặc képBắt buộc với khóa và chuỗiThường không bắt buộc
Chuỗi nhiều dòngEscape \nBlock scalar | và >
Tái sử dụngKhông cóAnchor & và alias *
Phù hợp nhấtAPI, trao đổi dữ liệuCấ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?
Đúng. Từ YAML 1.2 (2009), mọi tài liệu JSON hợp lệ cũng là YAML hợp lệ. Vì vậy việc chuyển đổi không mất dữ liệu: dữ liệu và kiểu dữ liệu giống hệt nhau, chỉ có cú pháp thay đổi.
Tại sao một số chuỗi trong kết quả YAML của tôi có dấu ngoặc kép?
Các chuỗi như "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?
Có. Dán kết quả JSON từ lệnh 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.
Dữ liệu của tôi có được gửi đi đâu không?
Không. Việc chuyển đổi chạy trực tiếp trong trình duyệt của bạn bằng thư viện mã nguồn mở js-yaml; không có gì được tải lên.
Tôi có thể cài JSON sang YAML như một ứng dụng web và dùng khi không có mạng không?
Có. JSON sang YAML là một ứng dụng web (PWA) có thể cài đặt — cài trực tiếp từ trình duyệt, không cần tải từ cửa hàng ứng dụng. Trên Chrome hoặc Edge (Windows, macOS, Linux, ChromeOS) hoặc Android, bấm Cài đặt ứng dụng ở đầu trang này; trên iPhone và iPad, dùng Chia sẻ → Thêm vào Màn hình chính; trên Mac, dùng File → Add to Dock trong Safari 17 trở lên. Sau đó ứng dụng mở trong cửa sổ riêng với biểu tượng riêng, và vì chạy hoàn toàn trên trình duyệt nên vẫn hoạt động khi không có mạng. Firefox trên máy tính không thể cài ứng dụng web. Cách cài đặt hoạt động thế nào.

Công cụ liên quan