Câu trả lời trực tiếp
Công cụ JSON sang TypeScript suy luận declaration ở compile time từ giá trị đã quan sát. Những type này giúp editor và build kiểm tra tốt hơn nhưng không validate dữ liệu ở runtime.
Sinh declaration, rà edge case và bổ sung runtime validation khi cần.
JSON đầu vào
TypeScript đầu ra
1export interface Root {2user: User;3}45export interface Address {6city: string;7zip: string;8}910export interface Profile {11age: number;12address: Address;13}1415export interface User {16id: number;17name: string;18email: string;19isActive: boolean;20roles: string[];21profile: Profile;22lastLogin: string;23}24
Cách sử dụng
- Dán/tải JSON hoặc lấy mẫu công khai được hỗ trợ.
- Đặt root name, interface/type, optional, array syntax, nested extraction, readonly/export và semicolon.
- Rà union/null/optional bị thiếu rồi sao chép hoặc tải
.ts.
Tính năng và thiết lập chính
- Xuất interface hoặc type alias.
- Kiểm soát optional field và cách viết array.
- Tách nested declaration, thêm readonly/export.
- Ưu tiên
unknownthayanyvà có thể tạo string literal union từ mẫu.
Đầu vào và đầu ra được hỗ trợ
Đầu vào: văn bản hoặc tệp JSON, URL công khai được hỗ trợ. Đầu ra: .ts.
Trường hợp sử dụng
- Tạo model frontend từ ví dụ API.
- Ghi lại cấu trúc response lồng nhau trong quá trình tích hợp.
- Kết hợp với Zod khi vừa cần type tĩnh vừa cần runtime validation.
Nên chọn workflow nào?
Dùng Công cụ sinh TypeScript từ JSON khi cần: Xuất interface hoặc type alias. Dùng Công cụ sinh Zod schema từ JSON khi cần: Tùy chỉnh tên và phong cách schema.
Quyền riêng tư và luồng dữ liệu
Trong implementation hiện tại, dữ liệu dán/tải tệp được xử lý trong trình duyệt; riêng “Extract from URL” dùng proxy phía máy chủ để lấy nguồn.
Giới hạn và xử lý lỗi
- Một payload không thể bộc lộ mọi field optional hoặc nhánh union.
- Dùng JSON sang Zod hoặc validator runtime khác khi cần kiểm tra dữ liệu không tin cậy sau parse.
- Không có mức dung lượng bảo đảm cho mọi thiết bị; dữ liệu lớn phụ thuộc bộ nhớ trình duyệt và hiệu năng thiết bị.
FAQ
TypeScript type có validate JSON ở runtime không?
Không. TypeScript type bị loại bỏ khi chạy. Hãy dùng Zod hoặc runtime schema khác nếu ứng dụng phải từ chối payload sai.
Dữ liệu có được tải lên máy chủ không?
Trong implementation hiện tại, dữ liệu dán/tải tệp được xử lý trong trình duyệt; riêng “Extract from URL” dùng proxy phía máy chủ để lấy nguồn.
Giới hạn tệp hoặc dữ liệu là bao nhiêu?
Không có mức dung lượng bảo đảm cho mọi thiết bị; dữ liệu lớn phụ thuộc bộ nhớ trình duyệt và hiệu năng thiết bị.
Có dùng được trên điện thoại không?
Trang là công cụ web và có thể chạy trên trình duyệt di động hiện đại, nhưng hành vi chọn tệp, bộ nhớ và khả năng tương thích chưa được xác minh trên mọi thiết bị. Nên dùng desktop với dữ liệu lớn hoặc phức tạp.
Nên chọn workflow nào?
Dùng Công cụ sinh TypeScript từ JSON khi cần: Xuất interface hoặc type alias. Dùng Công cụ sinh Zod schema từ JSON khi cần: Tùy chỉnh tên và phong cách schema.
Công cụ liên quan
Sinh declaration, rà edge case và bổ sung runtime validation khi cần.