TOML
2 công cụ
Các công cụ TOML của ToolDeck cho phép bạn định dạng, xác thực và chuyển đổi tệp cấu hình TOML trực tiếp trên trình duyệt — không cần cài đặt, không cần tài khoản, không có dữ liệu nào được tải lên máy chủ. TOML Formatter phân tích cú pháp đầu vào TOML của bạn và tuần tự hóa lại với thụt lề nhất quán, sắp xếp khóa chuẩn hóa, và lỗi xác thực nội tuyến chỉ ra chính xác vị trí lỗi cú pháp. TOML to JSON Converter chuyển đổi tài liệu TOML sang dạng JSON tương đương, giữ nguyên các kiểu dữ liệu bao gồm datetime, inline table và mảng bảng. Cả hai công cụ đều chạy hoàn toàn phía client, vì vậy tệp cấu hình của bạn — thường chứa thông tin xác thực cơ sở dữ liệu, endpoint API và bí mật triển khai — được giữ nguyên trên máy của bạn. Nếu bạn cần chuyển đổi theo chiều ngược lại, JSON to TOML Converter trong danh mục JSON sẽ xử lý chuyển đổi đó.
Công Cụ TOML Là Gì?
TOML (Tom's Obvious, Minimal Language) là định dạng tệp cấu hình được xây dựng xung quanh cú pháp rõ ràng, không mơ hồ. Được tạo bởi Tom Preston-Werner, đồng sáng lập GitHub, TOML được phát hành lần đầu vào năm 2013 và đạt đến đặc tả phiên bản 1.0 vào tháng 1 năm 2021. Định dạng này ánh xạ không mơ hồ sang bảng băm: mỗi tệp TOML định nghĩa một cây các cặp khóa-giá trị được tổ chức thành các bảng (các phần được đánh dấu bằng [dấu ngoặc vuông]). Không giống YAML, TOML không dựa vào thụt lề để xác định cấu trúc, điều này loại bỏ hoàn toàn một lớp lỗi phân tích cú pháp liên quan đến khoảng trắng. Không giống JSON, TOML hỗ trợ chú thích, kiểu dữ liệu date/time tự nhiên và chuỗi nhiều dòng — các tính năng mà tệp cấu hình cần nhưng JSON chưa bao giờ được thiết kế để cung cấp.
Các công cụ TOML tự động hóa công việc cơ học là đọc, xác thực và chuyển đổi tệp TOML. Công cụ định dạng chuẩn hóa thụt lề và thứ tự khóa để tệp cấu hình luôn dễ đọc trong nhóm, ngay cả khi nhiều người đóng góp cùng chỉnh sửa một tệp. Công cụ chuyển đổi dịch giữa TOML và JSON, hữu ích khi một thư viện hoặc API yêu cầu đầu vào JSON nhưng nguồn thông tin chính xác của bạn là cấu hình TOML. Xác thực bắt các lỗi cú pháp — thiếu dấu ngoặc đóng, khóa bị trùng lặp hoặc ký tự datetime không hợp lệ — trước khi chúng gây lỗi khi khởi động ứng dụng.
Các tác vụ này xuất hiện thường xuyên trong các dự án Rust (nơi Cargo.toml là tệp kê khai gói), đóng gói Python (pyproject.toml thay thế setup.py như cấu hình build tiêu chuẩn trong PEP 518 và PEP 621), các trang web tĩnh Hugo (sử dụng TOML cho cấu hình trang mặc định) và bất kỳ thiết lập hạ tầng nào lưu trữ cấu hình trong tệp TOML. Đặc tả TOML được duy trì tại toml.io, và các bộ phân tích cú pháp tồn tại cho mọi ngôn ngữ lập trình phổ biến.
Tại Sao Dùng Công Cụ TOML Trên ToolDeck?
Các công cụ TOML của ToolDeck phân tích và xử lý mọi thứ bên trong tab trình duyệt của bạn bằng JavaScript. Không có dữ liệu cấu hình nào được truyền tới máy chủ, không cần tài khoản, và các công cụ hoạt động ngoại tuyến sau lần tải trang đầu tiên.
Các Trường Hợp Sử Dụng Công Cụ TOML
Định dạng, xác thực và chuyển đổi TOML xuất hiện trong các vai trò và loại dự án khác nhau. Lập trình viên Rust làm việc với Cargo.toml hàng ngày. Lập trình viên Python cấu hình build và công cụ thông qua pyproject.toml. Kỹ sư DevOps quản lý cấu hình ứng dụng được đóng gói dưới dạng TOML. Các tác vụ dưới đây cho thấy nơi công cụ TOML trên trình duyệt tiết kiệm thời gian so với việc viết script dùng một lần hoặc cài đặt công cụ CLI.
Tham Chiếu Các Kiểu Dữ Liệu TOML
TOML v1.0 định nghĩa các kiểu dữ liệu sau đây. Mỗi kiểu ánh xạ sang một biểu diễn cụ thể khi chuyển đổi sang JSON. Bảng dưới đây bao gồm cú pháp, ví dụ và hành vi chuyển đổi cho từng kiểu TOML.
| Kiểu | Cú pháp | Ví dụ | Ánh xạ JSON |
|---|---|---|---|
| Chuỗi | "..." hoặc '...' | name = "TOML" | Chuỗi JSON. Chuỗi cơ bản hỗ trợ chuỗi thoát (\n, \t, \u). Chuỗi ký tự ('...') xử lý dấu gạch chéo ngược như ký tự thông thường. |
| Số nguyên | chữ số, 0x, 0o, 0b | port = 8080 | Số JSON. Hỗ trợ hệ thập lục phân (0xDEAD), hệ bát phân (0o755), hệ nhị phân (0b1010) và dấu phân cách gạch dưới (1_000). |
| Số thực | chữ số với . hoặc e | pi = 3.14159 | Số JSON. Hỗ trợ inf, -inf và nan (ánh xạ sang null hoặc chuỗi trong JSON, vì JSON không có NaN). |
| Boolean | true / false | enabled = true | Boolean JSON. Chỉ chữ thường true và false là hợp lệ. |
| Offset Date-Time | RFC 3339 | 2024-01-15T09:30:00Z | Chuỗi JSON (ISO 8601). Bao gồm múi giờ. JSON không có kiểu datetime tự nhiên. |
| Local Date-Time | date T time | 2024-01-15T09:30:00 | Chuỗi JSON. Không có thông tin múi giờ. Hữu ích cho giờ đồng hồ. |
| Local Date | YYYY-MM-DD | 2024-01-15 | Chuỗi JSON. Ngày không có thành phần giờ. |
| Local Time | HH:MM:SS | 09:30:00 | Chuỗi JSON. Giờ không có ngày hoặc múi giờ. |
| Mảng | [giá_trị, ...] | ports = [8080, 8443] | Mảng JSON. Mảng TOML có thể không đồng nhất trong TOML v1.0 nhưng phải đồng nhất trong v0.5. |
| Bảng | tomlCategoryContent.r10Syntax | [database] | Đối tượng JSON. Bảng tiêu chuẩn dùng [dấu ngoặc vuông]. Bảng inline dùng dấu ngoặc nhọn trên một dòng. |
Đặc tả TOML v1.0.0 (toml.io) là phiên bản ổn định hiện tại. Mảng bảng dùng [[dấu ngoặc kép]] để định nghĩa các mục bảng lặp lại, ánh xạ sang mảng JSON của các đối tượng.
Cách Chọn Công Cụ TOML Phù Hợp
ToolDeck có ba công cụ làm việc với tệp TOML. Hai công cụ nằm trong danh mục TOML, và một công cụ nằm trong danh mục JSON cho chiều chuyển đổi ngược lại. Chọn công cụ phù hợp với tác vụ của bạn.
- 1Nếu bạn cần thụt lề lại tệp TOML, chuẩn hóa thứ tự khóa, hoặc xác thực cú pháp TOML với báo cáo lỗi theo dòng → TOML Formatter
- 2Nếu bạn cần chuyển đổi tệp cấu hình TOML sang JSON để dùng trong API, script hoặc công cụ yêu cầu đầu vào JSON → TOML to JSON Converter
- 3Nếu bạn cần chuyển đổi tài liệu JSON sang định dạng TOML cho các dự án dùng TOML làm tiêu chuẩn cấu hình → JSON to TOML Converter
Với công việc TOML hàng ngày, TOML Formatter xử lý định dạng và xác thực trong một bước — dán TOML của bạn vào, và nó sẽ tạo ra đầu ra sạch hoặc cho bạn biết chính xác vị trí lỗi cú pháp. Khi bạn cần kết nối TOML và JSON, TOML to JSON Converter giữ nguyên tất cả các kiểu dữ liệu TOML bao gồm datetime và bảng lồng nhau. Cho chiều ngược lại (JSON sang TOML), dùng JSON to TOML Converter trong danh mục JSON. Nếu bạn đang gỡ lỗi cấu hình không phân tích được, hãy bắt đầu với TOML Formatter: các thông báo lỗi của nó bao gồm số dòng và mô tả token mong đợi cụ thể hơn những gì hầu hết các bộ phân tích cú pháp TOML ở tầng ứng dụng báo cáo.