Chuyển Đổi TOML Sang JSON
Tại sao chuyển đổi TOML sang JSON?
TOML được thiết kế cho tệp cấu hình dễ đọc cho người (Cargo.toml của Rust, pyproject.toml của Python, config.toml của Hugo), nhưng JSON là tiêu chuẩn cho API web và công cụ JavaScript. Khi cần gửi cấu hình TOML đến API JSON, tích hợp với công cụ JavaScript hoặc chia sẻ dữ liệu giữa các hệ sinh thái, công cụ này lấp đầy khoảng cách ngay lập tức.
Chuyển đổi kiểu đầy đủ
Chuỗi, số nguyên, số thực, boolean, ngày TOML — tất cả được chuyển đổi đúng sang tương đương JSON
Bảng và mảng bảng
Xử lý đúng cú pháp [bảng], [[mảng bảng]], bảng inline {key = value}
Đầu ra JSON được định dạng
Đầu ra được hiển thị với thụt lề để dễ đọc — không phải JSON nén trên một dòng
Chuyển đổi TOML sang JSON trong 3 bước
Dán cấu hình TOML
Dán nội dung từ Cargo.toml, pyproject.toml hoặc tệp cấu hình TOML khác
Tự động chuyển đổi
Công cụ phân tích cấu trúc TOML và chuyển đổi ngay lập tức sang JSON tương đương
Sao chép JSON
Sao chép JSON đã tạo vào lệnh gọi API hoặc các công cụ khác chấp nhận JSON
Các trường hợp sử dụng chuyển đổi TOML sang JSON
Phân tích Cargo.toml
Chuyển đổi Cargo.toml sang JSON cho các script CI phân tích phụ thuộc
Cấu hình Hugo
Chuyển đổi config.toml của Hugo sang JSON để tích hợp với các công cụ khác
Gửi dữ liệu đến API
Chuyển đổi tham số TOML sang JSON để gửi đến REST API hoặc GraphQL endpoint
Học về các định dạng
Hiểu ánh xạ cấu trúc TOML→JSON để biết hai định dạng liên quan với nhau như thế nào
Các thực hành tốt nhất cho TOML
✓ Dùng cú pháp dấu chấm cho bảng lồng
TOML hỗ trợ [server.database] như một cách viết tắt cho bảng lồng.
✓ Dùng chuỗi ký tự cho đường dẫn
Chuỗi ký tự trong ngoặc đơn như 'C:\Users\path' không xử lý chuỗi escape — lý tưởng cho đường dẫn Windows.
✓ Dùng chú thích tích cực
Ưu điểm quan trọng nhất của TOML so với JSON là hỗ trợ chú thích. Ghi lại tất cả tham số cấu hình bằng chú thích #.
✓ Chú ý chuyển đổi kiểu DateTime
Ngày RFC 3339 gốc của TOML (2024-01-15T10:30:00Z) trở thành chuỗi trong JSON. Code tiêu thụ JSON phải phân tích lại chúng làm kiểu ngày.
❓ Câu hỏi thường gặp
Ưu điểm của TOML so với YAML và JSON là gì?
TOML đơn giản hơn YAML (không có cấu trúc dựa trên thụt lề), dễ đọc hơn JSON (hỗ trợ chú thích) và có kiểu rõ ràng (số nguyên, số thực, ngày được phân biệt). Lựa chọn tốt nhất cho tệp cấu hình ứng dụng.
[[mảng bảng]] trong TOML là gì?
[[servers]] xác định một mảng đối tượng tên là 'servers'. Mỗi lần xuất hiện của [[servers]] tạo một đối tượng mới trong mảng. Tương đương JSON: {"servers": [{...}, {...}]}.
Các công cụ quan trọng nào dùng TOML?
Rust (Cargo.toml), packaging Python hiện đại (pyproject.toml pip/poetry), Hugo, Gitea, Lighthouse CI và nhiều công cụ Go dùng TOML.
Chú thích TOML có được giữ lại trong đầu ra JSON không?
Không. Vì JSON thiếu cú pháp cho chú thích, chú thích # của TOML không thể biểu diễn trong đầu ra JSON.