🛝Toolio
Tất cả công cụ Giới thiệu Liên hệ

🔷 JSON sang TypeScript -- Tạo Interface Ngay Lập Tức, Miễn Phí & Ngoại Tuyến

Dán bất kỳ đối tượng hoặc mảng JSON nào vào, công cụ này sẽ tạo ngay định nghĩa interface (hoặc type alias) TypeScript -- hoàn toàn miễn phí, không cần đăng nhập, không tải lên, chạy 100% trong trình duyệt. Object lồng nhau trở thành interface lồng nhau, mảng object được hợp nhất thành một kiểu duy nhất với các trường tùy chọn, và mảng kiểu hỗn hợp tự động tạo ra union type.

Giới thiệu

Công cụ chuyển đổi JSON sang TypeScript này sử dụng bộ duyệt suy luận kiểu thuần túy phía máy khách -- không có thư viện ngoài hay gọi server. Nó duyệt đệ quy mọi nút trong JSON: giá trị nguyên thủy được ánh xạ thành string, number, boolean hoặc null; object lồng nhau tạo ra interface con có tên; mảng các object hợp nhất tất cả các hình dạng phần tử để các khóa bị thiếu trong một số phần tử trở thành tùy chọn (key?: Type); mảng kiểu hỗn hợp tạo ra union type như (string | number)[]. Bạn có thể chọn xuất interface hoặc type alias, và đặt tên interface gốc. Mọi thứ ở lại trong trình duyệt -- dữ liệu JSON của bạn không bao giờ được gửi đi đâu cả.

Cách sử dụng

  1. Dán JSON vào ô nhập -- đối tượng, mảng hay các cấu trúc lồng nhau đều được hỗ trợ.
  2. Đặt tên interface gốc (mặc định: RootObject) và chọn xuất kiểu interface hoặc type alias.
  3. Nhấn Chuyển sang TypeScript (hoặc ấn Ctrl+Enter) để tạo định nghĩa ngay lập tức.
  4. Xem lại kết quả TypeScript -- các interface lồng nhau xuất hiện trước, interface gốc ở cuối.
  5. Nhấn Sao chép để copy kết quả vào clipboard và dán thẳng vào dự án TypeScript của bạn.

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

Công cụ này có tải JSON lên máy chủ không?
Không. Mọi xử lý đều xảy ra hoàn toàn trong trình duyệt của bạn bằng JavaScript. JSON của bạn không bao giờ rời khỏi thiết bị.
Nó xử lý thế nào khi mảng chứa các đối tượng có cấu trúc khác nhau?
Tất cả các hình dạng phần tử được hợp nhất thành một interface. Các khóa có mặt trong mọi phần tử là bắt buộc; các khóa bị thiếu ở bất kỳ phần tử nào được đánh dấu tùy chọn bằng ?.
Sự khác biệt giữa chế độ xuất interface và type là gì?
interface sử dụng khai báo interface TypeScript (có thể mở rộng, được ưu tiên cho hình dạng đối tượng). type sử dụng type alias (linh hoạt hơn, hỗ trợ kiểu nguyên thủy và union ở mức gốc). Cả hai đều tạo ra kết quả tương đương cho hình dạng đối tượng.
Nó có xử lý được JSON lồng nhau sâu không?
Có. Bộ duyệt kiểu hoàn toàn đệ quy -- mỗi đối tượng lồng nhau tạo ra interface có tên riêng, và các interface được xuất theo thứ tự phụ thuộc (sâu nhất trước) để TypeScript biên dịch không có lỗi tham chiếu tiến.
Điều gì xảy ra nếu mảng JSON chứa các kiểu hỗn hợp như string và number?
Mảng kiểu hỗn hợp tạo ra union type. Ví dụ, [1, 'hello', true] trở thành (number | string | boolean)[]. Nếu mảng có một kiểu nhất quán duy nhất, không cần union.