Công cụ chuyển đổi JSON sang TOML là gì?
Công cụ chuyển đổi JSON sang TOML biến đổi dữ liệu JSON (JavaScript Object Notation) thành định dạng TOML (Tom's Obvious Minimal Language). Nó xử lý các đối tượng, mảng, cấu trúc lồng nhau và tự động phát hiện các giá trị datetime để tạo ra kết quả TOML sạch và hợp lệ.
Khi nào bạn cần điều này?
Cấu hình dự án
Quy trình DevOps
Di chuyển dữ liệu
Học TOML
Dữ liệu của bạn vẫn riêng tư
- Không tải lên — Dữ liệu của bạn không bao giờ rời khỏi thiết bị của bạn
- Không theo dõi — Chúng tôi không thu thập hoặc lưu trữ bất kỳ dữ liệu đầu vào nào
- Không xử lý máy chủ — Mọi thứ chạy cục bộ trong trình duyệt của bạn
Cách sử dụng
Nhập JSON của bạn
Dán hoặc nhập dữ liệu JSON của bạn vào bảng bên trái. Bạn cũng có thể nhấp vào biểu tượng tải lên để tải tệp JSON từ thiết bị của bạn.
Chuyển đổi tự động
Kết quả TOML xuất hiện tự động trong bảng bên phải khi bạn nhập, với xác thực và định dạng theo thời gian thực.
Điều chỉnh tùy chọn
Định cấu hình các cài đặt chuyển đổi như xử lý giá trị null và định dạng bảng nội tuyến để phù hợp với nhu cầu của bạn.
Xuất kết quả
Sao chép kết quả TOML vào clipboard của bạn hoặc tải xuống dưới dạng tệp .toml để sử dụng ngay trong dự án của bạn.
Tùy chọn chuyển đổi
Xử lý giá trị Null
Chọn cách xử lý các giá trị null trong JSON của bạn:
- Bỏ qua — Loại bỏ hoàn toàn các khóa null khỏi kết quả
- Chuỗi trống ("") — Chuyển đổi null thành chuỗi trống
Bảng nội tuyến
Định dạng nhỏ gọn cho các đối tượng nhỏ:
- Các đối tượng có ≤3 khóa nguyên thủy hiển thị dưới dạng
{ key = "value" } - Tạo ra kết quả dễ đọc hơn, nhỏ gọn hơn
Tải lên tệp
Nhấp vào biểu tượng tải lên trong thanh công cụ để tải tệp JSON từ thiết bị của bạn. Nội dung tệp sẽ được tự động tải vào trình chỉnh sửa và chuyển đổi sang định dạng TOML ngay lập tức.
Các tính năng chính
Chuyển đổi theo thời gian thực
JSON được chuyển đổi sang TOML khi bạn nhập, với debouncing thông minh để tối ưu hóa hiệu suất. Các thay đổi đối với tùy chọn chuyển đổi kích hoạt chuyển đổi lại ngay lập tức, cung cấp cho bạn phản hồi tức thì về kết quả của bạn.
Ánh xạ cấu trúc thông minh
Công cụ chuyển đổi ánh xạ thông minh các cấu trúc JSON sang các tương đương TOML của chúng với độ chính xác:
| Cấu trúc JSON | Kết quả TOML | Ví dụ |
|---|---|---|
| Đối tượng | Bảng TOML với tiêu đề [table] |
[database] |
| Đối tượng lồng nhau | Ký hiệu đường dẫn có dấu chấm | [server.config] |
| Mảng đối tượng | Cú pháp mảng bảng | [[products]] |
| Mảng nguyên thủy | Mảng nội tuyến | ["a", "b", "c"] |
| Giá trị nguyên thủy | Ánh xạ giá trị trực tiếp | port = 8080 |
Xử lý giá trị Null
Loại bỏ khóa Null
- Các khóa null không xuất hiện trong kết quả
- Thông báo cảnh báo hiển thị các khóa bị loại bỏ
- Kết quả sạch hơn cho các trường tùy chọn
Chuyển đổi chuỗi trống
- Null trở thành
"" - Bảo toàn tất cả các khóa trong kết quả
- Duy trì tính nhất quán của cấu trúc
Bảng nội tuyến
Các đối tượng nhỏ có tối đa 3 giá trị nguyên thủy có thể được hiển thị dưới dạng bảng nội tuyến TOML thay vì các phần bảng riêng biệt, tạo ra kết quả nhỏ gọn và dễ đọc hơn.
# Without inline tables
[point]
x = 1
y = 2
z = 3
# With inline tables enabled
point = { x = 1, y = 2, z = 3 }
Phát hiện Datetime
Các chuỗi khớp với các mẫu ngày tháng, giờ hoặc datetime RFC 3339 được tự động nhận dạng và xuất ra dưới dạng các giá trị datetime TOML trần không có dấu ngoặc kép, đảm bảo xử lý loại thích hợp.
- Định dạng ngày:
2024-01-15 - Định dạng datetime:
2024-01-15T10:30:00Z - Định dạng giờ:
10:30:00
Trích dẫn khóa thông minh
Các khóa JSON chứa khoảng trắng, dấu chấm hoặc ký tự đặc biệt được tự động trích dẫn trong kết quả TOML để đảm bảo tính hợp lệ. Các khóa chữ và số đơn giản sử dụng định dạng trần để có khả năng đọc tối đa.
# Simple keys (no quotes needed)
name = "John"
age = 30
# Special keys (automatically quoted)
"user.name" = "John"
"first name" = "John"
"api-key" = "secret"
Thanh trạng thái
Thanh trạng thái ở dưới cùng cung cấp phản hồi theo thời gian thực về chuyển đổi của bạn:
- Trạng thái xác thực — Hiển thị trạng thái Hợp lệ, Không hợp lệ hoặc Sẵn sàng
- Số lượng khóa — Tổng số khóa trong kết quả
- Kích thước tệp — Kích thước kết quả tính bằng byte để lập kế hoạch tải xuống
Các câu hỏi thường gặp
Tại sao tôi không thể chuyển đổi một mảng JSON làm gốc?
TOML yêu cầu gốc phải là một bảng (các cặp khóa-giá trị). Một mảng JSON ở cấp gốc không có tương đương trong thông số kỹ thuật TOML.
Giải pháp: Bao bọc mảng của bạn trong một đối tượng trước. Ví dụ:
// Instead of: [1, 2, 3]
// Use:
{
"items": [1, 2, 3]
}
Các giá trị null được xử lý như thế nào?
TOML không có loại null. Bạn có thể chọn giữa hai chiến lược:
- Bỏ qua — Các khóa null sẽ không xuất hiện trong kết quả. Thông báo cảnh báo hiển thị các khóa bị loại bỏ.
- Chuyển đổi thành chuỗi trống — Các giá trị null trở thành
"", bảo toàn tất cả các khóa trong kết quả.
Chọn chiến lược phù hợp nhất với trường hợp sử dụng của bạn trong các tùy chọn chuyển đổi.
Bảng nội tuyến là gì?
Bảng nội tuyến là cú pháp TOML nhỏ gọn cho các đối tượng nhỏ, được hiển thị trên một dòng:
point = { x = 1, y = 2 }
Bật tùy chọn Bảng nội tuyến để sử dụng định dạng này cho các đối tượng có tối đa 3 giá trị nguyên thủy. Điều này tạo ra kết quả nhỏ gọn và dễ đọc hơn cho các cấu trúc đơn giản.
Mảng đối tượng được chuyển đổi như thế nào?
Mảng mà mọi phần tử đều là đối tượng trở thành mảng bảng TOML sử dụng cú pháp [[name]]:
[[products]]
name = "Hammer"
price = 9.99
[[products]]
name = "Nail"
price = 0.05
Lưu ý: Mảng hỗn hợp (chứa cả đối tượng và giá trị nguyên thủy) được coi là mảng nội tuyến thay thế.
Các chuỗi datetime có được phát hiện tự động không?
Có. Các chuỗi khớp với các mẫu RFC 3339 được tự động nhận dạng và xuất ra dưới dạng datetime TOML trần không có dấu ngoặc kép:
2024-01-15— Định dạng ngày2024-01-15T10:30:00Z— Datetime với múi giờ10:30:00— Định dạng giờ
Điều này đảm bảo xử lý loại thích hợp và khả năng tương thích với các trình phân tích cú pháp TOML.
Có giới hạn kích thước không?
Vì tất cả xử lý diễn ra trong trình duyệt của bạn, giới hạn thực tế phụ thuộc vào bộ nhớ khả dụng và sức mạnh xử lý của thiết bị của bạn.
Để có hiệu suất tối ưu, chúng tôi khuyên bạn nên sử dụng các tệp dưới 5MB. Các tệp lớn hơn vẫn sẽ hoạt động nhưng có thể mất nhiều thời gian hơn để xử lý.
Chưa có bình luận nào. Hãy là người đầu tiên!