Chuyển YAML sang JSON
Chuyển file cấu hình YAML, đặc tả OpenAPI và file CI thành JSON mà mọi trình phân tích, API hay trình kiểm tra schema đều đọc được. Tải lên file .yaml hoặc .yml và tải xuống JSON đã thụt lề.
Chuyển đổi dữ liệu
hoặc thả tệp CSV, TSV, TXT … vào đây ·
Tối đa 95 MB mỗi tệp· Tối đa 20 tệp· Xóa sau 30 phút
Tệp được xử lý trên máy chủ của chúng tôi và bị xóa sau 30 phút.
Ký tự ngăn cách các cột trong tệp CSV và văn bản, dùng cho cả đọc và ghi. Tự động sẽ nhận diện từ dữ liệu đầu vào và ghi bằng dấu phẩy.
UTF-8 dùng được cho mọi ngôn ngữ. Chọn UTF-8 có BOM nếu Excel trên Windows hiển thị sai ký tự có dấu hoặc ký tự châu Á khi mở tệp CSV.
Với đầu vào Excel, ODS và Numbers: chỉ chuyển trang tính đầu tiên, hoặc mọi trang tính (mỗi trang tính một tệp CSV trong tệp ZIP, hoặc mỗi trang tính một khóa JSON).
Tên thẻ trang tính trong bảng tính mới, tối đa 31 ký tự.
Mảng đối tượng dùng tên cột làm khóa cho từng dòng; mảng của mảng gọn hơn và giữ tiêu đề làm mảng đầu tiên.
Tên phần tử ngoài cùng bao tất cả các dòng; mỗi dòng trở thành một <row> bên trong nó.
Dùng trong các câu lệnh CREATE TABLE và INSERT. Chỉ gồm chữ cái, chữ số và dấu gạch dưới.
Cách đặt dấu trích dẫn và kiểu cột hơi khác nhau giữa các cơ sở dữ liệu; hãy chọn hệ bạn sẽ nhập vào.
Ghi lại các ô ngày tháng theo một định dạng thống nhất. ISO (2026-10-18) an toàn nhất cho cơ sở dữ liệu và mã nguồn; giữ nguyên để chúng như trong tệp gốc.
Cách sử dụng công cụ này
- 1
Tải lên file YAML
Thêm file .yaml hoặc .yml, tối đa 20 file cùng lúc, mỗi file không quá 95 MB. Tên gốc được giữ nguyên; file JSON có cùng tên nhưng đổi phần đuôi.
- 2
Chọn thụt lề hoặc thu gọn
Tùy chọn Định dạng dễ đọc đang bật, giúp JSON được thụt lề để dễ đọc và dễ review code. Hãy tắt tùy chọn này trong Cài đặt nâng cao nếu bạn cần file một dòng để dán vào nội dung request.
- 3
Chuyển đổi và sử dụng
Bấm Chuyển sang JSON, tải xuống rồi đưa file cho API, trình kiểm tra hoặc script đang cần nó.
Vì sao lập trình viên chuyển YAML sang JSON
YAML được viết cho con người: dùng thụt lề thay cho dấu ngoặc nhọn, có chú thích, hầu hết chuỗi không cần dấu nháy. Vì vậy đây là định dạng của manifest Kubernetes, workflow GitHub Actions, file Docker Compose và đặc tả OpenAPI mà các nhóm chỉnh sửa bằng tay. JSON được viết cho chương trình. Ngôn ngữ nào cũng có trình phân tích JSON trong thư viện chuẩn, trình duyệt đọc được JSON sẵn, và hầu hết HTTP API chỉ nhận JSON.
Vì vậy việc chuyển đổi diễn ra ở ranh giới giữa hai bên. Kỹ sư nền tảng đưa manifest qua jq, vốn chỉ đọc JSON. Lập trình viên backend gửi đặc tả OpenAPI cho trình tạo code cần JSON. Người kiểm thử nạp dữ liệu mẫu viết bằng YAML vào bộ test JavaScript. Trong mọi trường hợp, YAML vẫn là nguồn gốc còn JSON là sản phẩm được tạo ra. Với cả thư mục feed hoặc dữ liệu xuất thay vì file cấu hình, XML sang JSON xử lý định dạng đánh dấu cũ hơn theo cách tương tự.
YAML và JSON đã cùng phát triển như thế nào
- YAML được Clark Evans đề xuất lần đầu
- 2001
- YAML 1.2 biến JSON thành tập con của YAML
- 2009
- RFC 8259, chuẩn JSON hiện hành
- 2017
- Bản sửa đổi YAML 1.2.2 được công bố
- 2021
Các tính năng chỉ có ở YAML sẽ ra sao trong JSON
Anchor (&defaults) và các alias (*defaults) cho phép YAML dùng lại một khối. JSON không có tham chiếu, nên mỗi alias được thay bằng bản sao đầy đủ của khối được gắn anchor.
- JSON có thể dài hơn YAML đáng kể
- Merge key (
<<: *defaults) cũng được mở rộng theo cách tương tự
Các dòng bắt đầu bằng # là ghi chú cho con người. JSON không có chỗ cho chúng nên chúng bị loại bỏ.
- Giữ YAML trong hệ thống quản lý phiên bản làm nguồn có chú thích
Giá trị 2026-10-18 không có dấu nháy là timestamp trong nhiều trình phân tích YAML. JSON không có kiểu ngày, nên nó được ghi thành chuỗi "2026-10-18".
Một luồng YAML có thể chứa nhiều tài liệu phân tách bằng ---. File JSON chỉ chứa một giá trị, nên hãy đặt mỗi tài liệu vào một file riêng khi công cụ nhận cần một object duy nhất.
{
"service": "billing",
"replicas": 3,
"ports": [8080, 9090],
"env": {
"LOG_LEVEL": "info",
"REGION": "NO"
}
}Thông tin về định dạng YAML và JSON
YAML
YAML
YAML ("YAML Ain't Markup Language") là định dạng dữ liệu thân thiện với con người, phát hành lần đầu năm 2001. Định dạng dùng thụt lề thay cho dấu ngoặc, hỗ trợ chú thích và là tập cha (superset) của JSON. YAML được dùng rộng rãi cho cấu hình trong Docker Compose, Kubernetes, GitHub Actions và nhiều ứng dụng khác. Do phụ thuộc vào khoảng trắng, chỉ một dấu cách đặt sai cũng có thể làm hỏng tệp, và một số giá trị như "no" hoặc ngày tháng có thể bị diễn giải ngoài ý muốn.
- Nén
- –
- Độ trong suốt
- –
- Ảnh động
- –
- Ra mắt
- 2001 · Clark Evans, Ingy döt Net, Oren Ben-Kiki
JSON
Dữ liệu JavaScript Object Notation (JSON)
JSON là định dạng văn bản gọn nhẹ cho dữ liệu có cấu trúc, được Douglas Crockford phổ biến đầu thập niên 2000 và chuẩn hóa thành RFC 8259 và ECMA-404. Định dạng biểu diễn object, mảng, chuỗi, số, boolean và null bằng cú pháp đơn giản, dễ đọc. JSON là định dạng mặc định cho API web, tệp cấu hình và trao đổi dữ liệu giữa các ứng dụng trong hầu hết ngôn ngữ lập trình. Định dạng không có sẵn chú thích, kiểu ngày tháng hay schema, và tệp lớn lồng nhiều cấp rất khó đọc nếu không có trình xem.
- Nén
- –
- Độ trong suốt
- –
- Ảnh động
- –
- Ra mắt
- 2001 · Douglas Crockford
Người ta chuyển YAML sang JSON khi cấu hình hoặc đặc tả viết cho con người phải được đưa vào máy xử lý: request API, trình kiểm tra schema hoặc công cụ không có trình phân tích YAML.
Câu hỏi thường gặp về chuyển YAML sang JSON
Vì sao phải chuyển YAML sang JSON khi cả hai chứa cùng dữ liệu?
Vì nhiều công cụ chỉ đọc được một trong hai định dạng. Trình đọc JSON có sẵn trong mọi ngôn ngữ lập trình và trình duyệt, còn YAML cần thêm thư viện. Nội dung request của REST API, trình kiểm tra JSON Schema, jq, cũng như các file như package.json hay manifest.json của tiện ích trình duyệt đều yêu cầu JSON.
Chú thích trong file YAML sẽ ra sao?
Chúng bị loại bỏ. RFC 8259 không có cú pháp chú thích cho JSON, nên các dòng bắt đầu bằng # không có chỗ để giữ lại. Hãy giữ file YAML làm nguồn có chú thích và coi JSON là bản sao được tạo ra, có thể tạo lại bất cứ lúc nào.
Vì sao NO hoặc off lại thành false?
Các trình phân tích theo YAML 1.1 đọc yes, no, on và off thành giá trị boolean, nên mã quốc gia như NO của Na Uy có thể thành false. YAML 1.2 chỉ coi true và false là boolean, nhưng không phải công cụ nào cũng theo chuẩn này. Hãy đặt các giá trị đó trong dấu ngoặc kép ở file YAML, ví dụ "NO", và chúng sẽ vẫn là chuỗi trong JSON.
Có chuyển được template CloudFormation viết bằng YAML không?
AWS CloudFormation chấp nhận cả hai định dạng, nhưng các thẻ rút gọn như !Ref và !GetAtt chỉ có trong YAML. Mẫu JSON viết chúng dưới dạng hàm đầy đủ, {"Ref": "MyBucket"} hoặc {"Fn::GetAtt": [...]}. Hãy viết lại thẻ rút gọn sang dạng đầy đủ trước khi chuyển để mẫu JSON vẫn hợp lệ.
Làm sao chuyển theo chiều ngược lại?
Dùng JSON sang YAML. Đây là chiều chuyển thường gặp khi phản hồi API hoặc file được tạo tự động cần trở thành file cấu hình dễ đọc trong repository.