Cách sử dụng
- Dán văn bản, mở tệp UTF-8 hoặc thử mẫu.
- Chọn đầu vào và cài đặt, rồi chạy công cụ hoặc bật chạy tự động.
- Kiểm tra kết quả rồi sao chép hoặc tải xuống. Đổi đầu vào làm kết quả cũ mất hiệu lực.
JSON sang TypeScript
Tạo interface hoặc bí danh type TypeScript từ một mẫu JSON.
Xử lý diễn ra trong trình duyệt. Đầu vào không được gửi tới DevToolsy.
Cách hoạt động
Đối tượng lồng nhau thành kiểu có tên. Đối tượng trong mảng được hợp nhất; thuộc tính thiếu là tùy chọn, giá trị hỗn hợp thành union. Mảng rỗng dùng unknown[].
{"project":"DevToolsy","members":[{"name":"Ada","role":"developer"},{"name":"Lin","active":true}],"tags":["web","tools"]}export interface Root {
project: string;
members: RootMembersItem[];
tags: string[];
}
export interface RootMembersItem {
name: string;
role?: string;
active?: boolean;
}
Tạo interface hoặc bí danh type TypeScript từ một mẫu JSON.
Tùy chọn và độ chính xác dữ liệu
Chọn tên kiểu gốc, interface hoặc type, readonly và thuộc tính tùy chọn. Chuỗi được suy luận thành string, không phải kiểu literal.
Sử dụng kết quả
Một mẫu không mô tả mọi trường hợp. Hãy kiểm tra null, trường thiếu và độ chính xác số; thêm xác thực runtime riêng.
Kiểm tra kết quả rồi sao chép hoặc tải xuống. Đổi đầu vào làm kết quả cũ mất hiệu lực.
Đầu vào UTF-8 tối đa 1 MiB mỗi tài liệu, đầu ra 8 MiB. JSONPath và Schema: 5 giây; công cụ khác: 30 giây.
Câu hỏi thường gặp
Đối tượng và mảng được suy luận ra sao?
Đối tượng lồng nhau thành kiểu có tên. Đối tượng trong mảng được hợp nhất; thuộc tính thiếu là tùy chọn, giá trị hỗn hợp thành union. Mảng rỗng dùng unknown[].
Có những tùy chọn TypeScript nào?
Chọn tên kiểu gốc, interface hoặc type, readonly và thuộc tính tùy chọn. Chuỗi được suy luận thành string, không phải kiểu literal.
Có xác thực phản hồi API sau này không?
Không. Một mẫu không mô tả mọi trường hợp. Hãy kiểm tra null, trường thiếu và độ chính xác số; thêm xác thực runtime riêng.
Dữ liệu có được tải lên không?
Xử lý diễn ra trong trình duyệt. Đầu vào không được gửi tới DevToolsy.
Có mở tệp cục bộ được không?
Đầu vào UTF-8 tối đa 1 MiB · đầu ra tối đa 8 MiB