Chuyển đổi miễn phí

JSON sang Trình chuyển đổi YAML

Chuyển đổi cấu trúc JSON sang định dạng YAML sạch. Lý tưởng cho các bảng kê khai Kubernetes và cấu hình đám mây.

Hoặc

Về công cụ này

Chuyển từ JSON sang YAML chủ yếu là làm cho dữ liệu dễ đọc hơn đối với con người. Cả hai định dạng đều mô tả cùng loại cấu trúc — đối tượng/bản đồ, mảng/chuỗi, vô hướng — nhưng cú pháp dựa trên thụt lề, trích dẫn tùy chọn và hỗ trợ nhận xét của YAML giúp quét và chỉnh sửa bằng tay dễ dàng hơn. Các tệp cấu hình là trường hợp sử dụng chuẩn: bảng kê khai Kubernetes, quy trình làm việc CI, sổ tay Ansible và hàng tá công cụ khác đã chọn YAML cụ thể vì người chỉnh sửa chính của chúng là con người.

Trình chuyển đổi này sử dụng js-yaml để tuần tự hóa một đối tượng JSON được phân tích cú pháp thành YAML. Kết quả duy trì chính xác cấu trúc của dữ liệu trong khi áp dụng các quy ước YAML: thụt lề để lồng, danh sách cho mảng, cặp khóa-giá trị cho thuộc tính đối tượng. Việc trích dẫn kép nghiêm ngặt của JSON được thoải mái; chỉ các chuỗi chứa các ký tự đặc biệt hoặc trông giống các loại khác mới được trích dẫn ở đầu ra.

Chuyển đổi là bảo toàn thông tin ngoại trừ khi YAML bổ sung tính biểu cảm mà JSON không có. Không thể xây dựng lại nhận xét (JSON không có). Tham chiếu neo và bí danh có thể nén các cấu trúc lặp lại nhưng không được tạo tự động; đầu ra mở rộng tất cả các tham chiếu nội tuyến.

Tại sao chuyển đổi JSON sang YAML

YAML dễ đọc hơn đáng kể so với JSON khi con người chỉnh sửa cấu hình. Thụt lề thay thế dấu ngoặc nhọn, dấu ngoặc kép là tùy chọn cho các chuỗi đơn giản và nhận xét có thể ghi lại các cài đặt không rõ ràng. Đối với các tệp mà con người duy trì - cấu hình ứng dụng, cơ sở hạ tầng dưới dạng mã, quy trình xây dựng - YAML hầu như luôn là định dạng đích phù hợp.

Công cụ cơ sở hạ tầng hiện đại cực kỳ ủng hộ YAML. Kubernetes, biểu đồ Helm, Ansible, GitHub Actions, GitLab CI, Docker Compose và nhiều công cụ khác thích hoặc yêu cầu YAML. Chuyển đổi xuất JSON từ một hệ thống sang cấu hình YAML cho hệ thống khác là một bước tích hợp thông thường.

Cách sử dụng

Dán JSON, nhận YAML.

  1. Thêm JSON của bạn: Dán văn bản JSON hoặc thả tệp. Đầu vào phải là JSON hợp lệ; trình chuyển đổi không cố gắng phân tích cú pháp đầu vào giống JSON vi phạm thông số kỹ thuật.
  2. Chọn tùy chọn: Kích thước thụt lề mặc định là 2 khoảng trắng, quy ước YAML phổ biến nhất. Kiểu luồng (giống JSON nhỏ gọn) so với kiểu khối (dựa trên thụt lề) chuyển đổi hình thức đầu ra - khối là mặc định thân thiện với con người.
  3. Chuyển đổi: Hàm kết xuất của js-yaml tuần tự hóa cây JSON được phân tích cú pháp thành YAML. Trích dẫn chuỗi chỉ được áp dụng khi cần thiết; các chuỗi phức tạp vẫn có thể đọc được.
  4. Tải xuống hoặc sao chép: Lưu dưới dạng .yml hoặc sao chép vào clipboard. Đầu ra là YAML 1.2 hợp lệ sẵn sàng cho mọi người tiêu dùng YAML.

Các trường hợp sử dụng phổ biến

Chi tiết kỹ thuật

Hàm kết xuất của js-yaml duyệt cây đối tượng JavaScript và phát ra YAML bằng cách sử dụng định dạng có thể định cấu hình. Độ sâu thụt lề, độ rộng dòng, ngưỡng kiểu luồng và xử lý trích dẫn đều là các tham số. Cài đặt mặc định tạo ra YAML kiểu khối với thụt lề 2 dấu cách, quy ước phổ biến nhất.

Việc trích dẫn chuỗi tuân theo các quy tắc của YAML: các chuỗi trông giống các loại khác (số, boolean, null, ngày tháng) được trích dẫn để buộc diễn giải chuỗi; các chuỗi chứa các ký tự đặc biệt (dấu hai chấm, dấu băm, dấu gạch ngang ở đầu) được trích dẫn; các chuỗi chữ cái đơn giản không được trích dẫn.

Đầu ra tương thích với YAML 1.2 và phân tích cú pháp rõ ràng với js-yaml, PyYAML và các thư viện YAML chính khác. Các chuyến đi khứ hồi bình thường (JSON → YAML → JSON) bảo toàn dữ liệu, mặc dù cách trình bày YAML chọn định dạng chuẩn có thể khác với định dạng viết tay tương đương.

Thực tiễn tốt nhất

Câu hỏi thường gặp

Việc chuyển đổi JSON sang YAML có làm thay đổi nội dung không?
Nội dung được bảo quản chính xác nhất có thể. Tuy nhiên, một số tính năng dành riêng cho định dạng có thể không có tính năng tương đương trực tiếp, do đó có thể xảy ra những khác biệt nhỏ về định dạng.
Tại sao nên sử dụng định dạng YAML?
YAML phổ biến cho các tệp cấu hình vì nó rất dễ đọc với cú pháp tối thiểu. Đó là tiêu chuẩn cho Docker Compose, Kubernetes, GitHub Actions và nhiều công cụ CI/CD.
Trình chuyển đổi có xử lý các cấu trúc JSON lồng nhau hoặc phức tạp không?
Đúng. Công cụ này phân tích cú pháp chính xác các đối tượng lồng nhau, mảng và tất cả các loại dữ liệu JSON tiêu chuẩn, bảo toàn cấu trúc dữ liệu đầy đủ trong đầu ra YAML.
Việc chuyển đổi này có an toàn và riêng tư không?
Đúng. Tất cả quá trình xử lý diễn ra cục bộ trong trình duyệt của bạn. Dữ liệu của bạn không bao giờ rời khỏi thiết bị của bạn — không cần tải lên máy chủ, không xử lý đám mây, không thu thập dữ liệu.
Còn các chuỗi có ký tự đặc biệt thì sao?
js-yaml tự động trích dẫn chúng. Các chuỗi chứa dấu hai chấm, dấu băm hoặc dấu gạch ngang ở đầu được gói trong dấu ngoặc kép để giữ cho YAML được định dạng đúng.
Dữ liệu của tôi có được tải lên máy chủ không?
Không. Quá trình chuyển đổi chạy trong trình duyệt của bạn bằng js-yaml.
Tôi có thể chuyển JSON khứ hồi sang YAML và quay lại không?
Đúng. JSON → YAML → JSON bảo toàn cấu trúc dữ liệu. Thứ tự khóa của JSON được chuyển đổi khớp với đầu vào.
Kích thước đầu vào tối đa là bao nhiêu?
Lên đến 50 MB. js-yaml xử lý các tệp cấu hình thông thường ngay lập tức.