DevToolPal
VI

Chuyển TOML sang JSON

Chuyển TOML sang JSON và JSON sang TOML: bảng, mảng bảng, bảng nội tuyến và ngày giờ, báo đúng vị trí lỗi.

Chạy cục bộ, không bao giờ tải lên

Tùy chọn

Chiều chuyển đổi
Thụt lề JSON

Đầu vào

0 ký tự · 0 B

Đầu ra

0 ký tự · 0 B

Công cụ này làm gì

Công cụ này chuyển TOML sang JSON và JSON ngược lại sang TOML. TOML là định dạng cấu hình đứng sau Cargo.toml của Rust, pyproject.toml của Python, Hugo, Netlify, Deno và nhiều công cụ khác. Con người dễ chỉnh sửa nó, nhưng hầu hết script, API và trình kiểm tra hợp lệ lại cần JSON. Chuyển đổi giúp bạn xem cấu hình bằng các công cụ JSON, đưa nó vào một chương trình, hoặc biến dữ liệu JSON thành một tệp cấu hình gọn gàng.

Cách sử dụng

  1. Dán TOML vào ô đầu vào, thả tệp .toml vào đó, hoặc nhấn Ví dụ.
  2. JSON xuất hiện ngay khi bạn gõ. Chọn thụt lề 2 hoặc 4 dấu cách.
  3. Chuyển Chiều chuyển đổi sang JSON → TOML để chuyển theo chiều ngược lại. JSON phải là một object ở cấp cao nhất, vì tài liệu TOML luôn là một bảng.
  4. Sao chép hoặc tải kết quả xuống.

Nếu TOML có lỗi, thông báo lỗi sẽ hiển thị dòng và cột, và nhấn vào đó sẽ nhảy tới đúng vị trí. Các lỗi thường gặp là thiếu dấu nháy đóng, định nghĩa cùng một khóa hoặc bảng hai lần, và đặt một chuỗi trần không có dấu nháy ở bên phải dấu =.

Ví dụ

TOML đầu vào:

[server]
host = "0.0.0.0"
port = 8080

[[users]]
name = "Alice"
roles = ["admin", "editor"]

JSON đầu ra:

{
  "server": { "host": "0.0.0.0", "port": 8080 },
  "users": [{ "name": "Alice", "roles": ["admin", "editor"] }]
}

[server] trở thành một object lồng nhau và mỗi khối [[users]] thêm một phần tử vào mảng users.

Ánh xạ kiểu dữ liệu

  • Chuỗi, số nguyên, số thực và boolean được ánh xạ trực tiếp. Số nguyên lớn vượt ngoài phạm vi an toàn của JavaScript sẽ mất độ chính xác, vì vậy hãy giữ ID ở dạng chuỗi.
  • Mảng ánh xạ thành mảng, còn bảng và bảng nội tuyến ánh xạ thành object.
  • Ngày giờ có độ lệch múi giờ, ngày giờ cục bộ, ngày cục bộ và giờ cục bộ trở thành chuỗi ISO 8601.
  • Theo chiều ngược lại, null không có tương đương trong TOML và được báo lỗi kèm đường dẫn. Object lồng nhau trở thành các mục [table] và mảng object trở thành các mục [[array]].

Câu hỏi thường gặp

› Tệp TOML của tôi có bị tải lên không?

Không. Việc phân tích và chuyển đổi chạy hoàn toàn trong trình duyệt của bạn, nên các tệp manifest Cargo, tệp pyproject và cấu hình chứa thông tin bí mật không bao giờ rời khỏi thiết bị.

› Hỗ trợ phiên bản TOML nào?

TOML 1.0, bao gồm bảng, mảng bảng, bảng nội tuyến, chuỗi nhiều dòng, ngày và giờ, cùng số nguyên thập lục phân, bát phân và nhị phân.

› Ngày giờ trong TOML được chuyển sang JSON thế nào?

JSON không có kiểu ngày giờ, nên ngày và giờ trở thành chuỗi ISO 8601. Ví dụ 2026-10-08 vẫn là "2026-10-08" còn 1979-05-27T07:32:00Z trở thành "1979-05-27T07:32:00.000Z".

› Tại sao chuyển JSON sang TOML bị lỗi với null?

TOML không có giá trị null. Công cụ sẽ dừng lại và cho bạn biết đường dẫn của null đầu tiên, chẳng hạn database.password, để bạn xóa khóa đó hoặc gán cho nó một giá trị.

› Chú thích có được giữ lại không?

Không. Chú thích trong TOML bị bỏ đi vì JSON không chứa được chúng, và JSON cũng không có chú thích nào để chuyển sang TOML.