Cách sử dụng
- Dán một đối tượng JSON hoặc thử ví dụ.
- Bật tùy chọn Bỏ qua giá trị null nếu JSON của bạn chứa null không cần dùng.
- Sao chép TOML hoặc tải xuống dưới dạng tệp .toml.
Cách hoạt động
JSON được phân tích nghiêm ngặt, sau đó được ghi thành TOML 1.0 bằng thư viện mã nguồn mở smol-toml. Các đối tượng lồng nhau trở thành [tables], mảng các đối tượng trở thành [[arrays of tables]], và các khóa không phải từ thông thường sẽ được đặt trong dấu ngoặc kép.
TOML không thể biểu diễn mọi thứ JSON có thể. Gốc tài liệu phải là một bảng, vì vậy mảng JSON hoặc giá trị đơn sẽ bị từ chối. Không có giá trị null trong TOML: theo mặc định, null đầu tiên được báo kèm đường dẫn của nó; bạn có thể chọn bỏ qua các thuộc tính null của đối tượng. Giá trị null bên trong mảng luôn là lỗi, vì việc loại bỏ nó sẽ làm thay đổi vị trí của các phần tử khác. Các mảng trộn nhiều kiểu (ví dụ số và chuỗi) hợp lệ trong TOML 1.0 nhưng không hợp lệ trong phiên bản 0.5 cũ hơn, do đó chúng được nêu trong ghi chú.
JSON không phân biệt 1 với 1.0, vì vậy các số nguyên được ghi thành số nguyên TOML. Các chuỗi trông giống ngày tháng vẫn là chuỗi. Chiều ngược lại là TOML sang JSON.
Ví dụ
Cài đặt ứng dụng
{"server": {"host": "0.0.0.0", "port": 8080}} trở thành bảng [server] với các khóa host và port.
Danh sách worker
"workers": [{"queue": "mail"}, {"queue": "images"}] trở thành hai khối [[workers]].
Câu hỏi thường gặp
Tại sao null không được phép?
TOML không có giá trị null. Hãy bỏ khóa đó hoặc dùng một giá trị như chuỗi rỗng, tùy theo chương trình đọc dữ liệu mong đợi.
Tại sao mảng gồm số và chuỗi lại hiển thị ghi chú?
Mảng trộn nhiều kiểu được phép từ TOML 1.0, nhưng các công cụ triển khai TOML 0.5 sẽ từ chối chúng. Ghi chú giúp ích nếu công cụ bạn nhắm tới thuộc phiên bản cũ hơn.
Liệu 1.0 có còn là số thực không?
Không. JSON lưu 1.0 và 1 cùng một số, vì vậy nó trở thành số nguyên 1. Hãy viết 1.5 hoặc chỉnh sửa TOML nếu chương trình đọc cần số thực.
Quyền riêng tư
Quá trình chuyển đổi diễn ra hoàn toàn trong trình duyệt của bạn. JSON và TOML của bạn không được tải lên hoặc lưu trữ.