Chuyển Đổi TOML Sang JSON

Chuyển đổi cấu hình TOML sang JSON — bảng, mảng bảng và tất cả kiểu dữ liệu TOML được hỗ trợ

Chia sẻ:

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

1

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

2

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

3

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.