TanodTools
VI

Chuyển JSON sang YAML

Dán JSON và nhận lại YAML gọn gàng, với các chuỗi dễ nhầm được đặt trong ngoặc kép để giữ nguyên ý nghĩa.

Chạy hoàn toàn trong trình duyệt của bạn

Thụt lề
Tùy chọn

Đầu vào tối đa khoảng 10 MB. Công cụ chỉ chuyển đổi dữ liệu; JSON không có chú thích, nên YAML cũng không có.

Cách chuyển JSON sang YAML

  1. Dán JSON vào ô, hoặc nhấn Chèn mẫu.
  2. Chọn thụt lề 2 hoặc 4 dấu cách, và bật Sắp xếp khóa để liệt kê mọi mapping theo thứ tự abc.
  3. Nếu JSON không hợp lệ, bạn sẽ thấy dòng và cột. Nếu không, hãy sao chép YAML hoặc tải xuống dưới dạng tệp .yaml.

Biến JSON thành YAML dễ đọc

YAML phần lớn là cách viết thân thiện hơn với con người cho cùng loại dữ liệu mà JSON chứa. Dấu ngoặc nhọn và dấu nháy nhường chỗ cho thụt lề và chữ thường, đó là lý do cấu hình cho Kubernetes, Compose và các hệ thống CI thường được viết bằng nó. Xuất phát từ JSON, chẳng hạn một phản hồi API hay một manifest được tạo tự động, việc chuyển đổi mang tính cơ học, nhưng có một chi tiết cần cẩn thận: YAML xác định kiểu của giá trị từ hình thức của nó.

Trong YAML, true để trần là boolean, null là null và 1.0 là số. Một chuỗi JSON tình cờ trông giống một trong số đó, như "null", "1.0" hay "0x1F", phải được đặt trong ngoặc kép ở YAML nếu không sẽ đổi kiểu khi được đọc. Bộ chuyển đổi đặt đúng các chuỗi đó trong ngoặc kép, cộng với chuỗi rỗng và văn bản bắt đầu bằng ký hiệu có ý nghĩa trong YAML, rồi kiểm tra kết quả bằng cách đọc lại.

Văn bản nhiều dòng trở thành literal block, dễ đọc hơn nhiều so với một chuỗi dài có các ký tự thoát \n. Đối tượng và mảng rỗng được viết là {} và []. Vì JSON không có chú thích, YAML bắt đầu mà không có chú thích nào; bạn có thể tự thêm sau.

Mẹo

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

JSON của tôi có bị tải lên không?

Không. Nó được phân tích và chuyển đổi bằng mã chạy trong trình duyệt của bạn, nên không có gì bạn dán rời khỏi thiết bị.

Vì sao một số chuỗi được đặt trong ngoặc kép?

Một yes, null, 1.0, 012 hay 0x1F để trần sẽ được đọc lại thành boolean, null hoặc số, chứ không phải chuỗi như bạn có. Bộ chuyển đổi đặt các chuỗi đó (và chuỗi rỗng) trong ngoặc kép để YAML mang đúng ý nghĩa của JSON.

Làm sao tôi biết YAML khớp với JSON?

Sau khi chuyển đổi, trang đọc lại YAML bằng trình phân tích YAML 1.2 và so sánh với dữ liệu của bạn. Nếu chúng khác nhau, một thông báo sẽ hiện phía trên kết quả.

Chuỗi nhiều dòng được viết như thế nào?

Chuỗi chứa ký tự xuống dòng được viết dưới dạng block scalar (|), giữ cho nó dễ đọc. Văn bản một dòng vẫn nằm trên một dòng trừ khi bạn đánh dấu tùy chọn ngắt dòng.

Công cụ có thay đổi thứ tự khóa của tôi không?

Khóa giữ nguyên thứ tự, trừ một đặc điểm của JavaScript: các khóa là số nguyên, như "1", được liệt kê lên trước, theo thứ tự số. Đánh dấu Sắp xếp khóa để sắp xếp mọi cấp theo thứ tự abc.

Còn các số lớn thì sao?

Số nguyên lớn hơn 9.007.199.254.740.991 được ghi đúng như đã nhập, không bị làm tròn. Số thập phân có hơn khoảng 17 chữ số có nghĩa được làm tròn đến giá trị gần nhất mà kiểu double có thể lưu.