Chuyển đổi YAML sang JSON

Chuyển YAML thành JSON hoặc JSON thành YAML, với mức thụt lề tuỳ chỉnh. Xử lý được map lồng nhau, danh sách và chuỗi nhiều dòng, và chỉ rõ chỗ sai cú pháp.

🌍 Truy cập toàn cầu 🔒 Riêng tư hàng đầu ⚡ Chuyển đổi tức thì 💯 Không giới hạn
Advertisement

Chuyển YAML thành JSON hoặc JSON thành YAML với mức thụt lề tuỳ chỉnh. Map lồng nhau, danh sách, chuỗi đặt trong ngoặc kép, khối văn bản nhiều dòng và anchor đều được xử lý, còn lỗi cú pháp được báo kèm đúng vị trí gây ra lỗi thay vì lặng lẽ thất bại.

Đây là cầu nối thường ngày giữa hai định dạng: một tệp cấu hình Kubernetes hay CI viết bằng YAML cần thành JSON cho một lệnh gọi API, hoặc một payload JSON phải được sửa bằng tay, việc này dễ hơn nhiều khi ở dạng YAML. Quá trình chuyển đổi diễn ra trong trình duyệt của bạn, nên tệp cấu hình chứa token hay tên máy chủ nội bộ không bao giờ rời khỏi máy.

Cách chuyển đổi giữa YAML và JSON

1

Dán YAML hoặc JSON

2

Chọn chiều chuyển đổi và mức thụt lề

3

Sao chép kết quả đã chuyển đổi

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

Công cụ hỗ trợ những chiều nào?

Cả hai: YAML sang JSON và JSON sang YAML. JSON là một tập con của YAML, nên JSON hợp lệ luôn chuyển đổi sạch sẽ, còn YAML có những tính năng JSON không có - chúng sẽ được khai triển khi chuyển đổi.

Chú thích trong YAML của tôi sẽ ra sao?

Chú thích không thuộc mô hình dữ liệu, nên chúng bị bỏ đi khi chuyển sang JSON. Hãy giữ tệp gốc làm nguồn tham chiếu nếu chú thích quan trọng.

Chuỗi nhiều dòng có được giữ nguyên không?

Có, khối văn bản và chuỗi literal trở thành chuỗi thường trong JSON, với các ký tự xuống dòng được giữ dưới dạng ký tự xuống dòng đã escape.

Vì sao YAML của tôi phân tích không được?

Nguyên nhân thường gặp là thụt lề không nhất quán, dùng ký tự tab thay vì dấu cách, hoặc một dấu hai chấm không đặt trong ngoặc kép bên trong giá trị. Thông báo lỗi chỉ đúng dòng và cột nơi quá trình phân tích dừng lại.

Công cụ có xử lý được tệp cấu hình lớn không?

Có, tệp vài megabyte được chuyển gần như tức thì. Giới hạn thực tế là bộ nhớ thiết bị của bạn, và mọi thứ đều được xử lý cục bộ.

Tệp cấu hình của tôi có bị tải lên không?

Không. Điều này rất quan trọng vì tệp cấu hình thường chứa thông tin đăng nhập, token và tên máy chủ nội bộ.

Advertisement

Tổng quan nhanh

Đầu vàovăn bản
Nhiều tệp cùng lúcKhông
Chạy ở đâuNgay trong trình duyệt - tệp không bao giờ bị tải lên
Dùng được ngoại tuyếnCó — sau khi trang đã tải xong
GiáMiễn phí, không đăng ký, không hình mờ

Chọn một định dạng dữ liệu

JSON là mặc định cho mọi thứ một API trả về hoặc một chương trình đọc vào: nó xử lý cấu trúc lồng nhau, số, giá trị boolean và null một cách tự nhiên, và ngôn ngữ nào cũng phân tích được nó. CSV nhỏ hơn và mở thẳng vào bảng tính, nhưng nó không có cách nào diễn tả cấu trúc lồng nhau và không có tiêu chuẩn chung cho ký tự phân tách, cách đặt ngoặc kép hay bộ ký tự - đó chính là chỗ các phép chuyển đổi hay sai. XML dài dòng nhưng mang được thuộc tính, nội dung hỗn hợp và lược đồ, nên nó vẫn chiếm ưu thế trong các định dạng tài liệu và những hệ thống tích hợp cũ. YAML dễ đọc nhất cho phần cấu hình nhưng rất nhạy với dấu cách và có những cách ép kiểu gây bất ngờ ("no" thành false, một phiên bản như 1.10 thành 1.1). Hãy chọn định dạng mà công cụ tiếp nhận ưa dùng, chứ không phải định dạng trông đẹp nhất.

Những chỗ việc chuyển đổi âm thầm hỏng

Phần lớn lỗi chuyển đổi không nằm ở cú pháp mà ở ý nghĩa. Một cột mã bưu chính trong CSV mất các số 0 đứng đầu ngay khi bảng tính đoán rằng đó là số; một ID dài vượt quá độ chính xác của số dấu phẩy động; ngày tháng đổi nghĩa tuỳ theo nó được viết theo kiểu ngày trước hay tháng trước. Các khoá JSON không có thứ tự nhưng mảng thì có, và một công cụ sắp xếp khoá thì không đổi gì, còn công cụ sắp xếp mảng thì đổi dữ liệu. Unicode là một cái bẫy khác: văn bản có thể đến dưới dạng UTF-8, UTF-16 hoặc kèm dấu thứ tự byte, và một bộ giải mã đoán sai sẽ biến các ký tự có dấu thành chữ hỏng. Trước khi tin vào bất kỳ phép chuyển đổi nào, hãy kiểm tra nhanh hàng đầu và hàng cuối, mọi trường có số 0 đứng đầu, và mọi trường chứa dấu ngoặc kép, dấu phẩy hay ký tự xuống dòng.