Əsas məzmuna keç

Pulsuz JSON-dan TypeScript-ə Çevirici

İstənilən JSON obyekti və ya massivdən TypeScript interfeysləri və ya tip ləqəbləri yaradın. JSON-unuzu yapışdırın və dərhal istifadəyə hazır TypeScript tipləri əldə edin.

Bir dəfə yükləndikdən sonra oflayn işləyir
export interface User {
  id: number;
  name: string;
  email: string;
  isActive: boolean;
  score: number;
  tags: string[];
  address?: null;
}

export interface Root {
  user: User;
  createdAt: string;
  version: number;
}

Ümumi istifadələr

  • API Cavablarından TypeScript Tipləri YaradınJSON API cavabını yapışdırın və frontend kodunuzu tipə amal etmək üçün dərhal TypeScript interfeyslərini yaradın.
  • Konfiquratsiya Faylları və Ayar Ob'ektləri üçün TypeScript TipləriJSON konfiquratsiya fayllarından TypeScript interfeyslərini yaradın tətbiqinizin ayarlarına tip təhlükəsizliyi əlavə etmək üçün.
  • Məlumat Bazası Qeydlərindən TypeScript Tipləri YaradınJSON-ə ixraç edilmiş məlumat bazası qeydlərini və ya ORM sorğu nəticələrini məlumat yazmaq üçün TypeScript interfeysinə çevirin.
  • Mock Məlumatları və Test Pristaları YazinJSON mock məlumatlarından və test pristaların TypeScript interfeyslərini yaradın vahid testlərinizi və Storybook hekayələrinizi yazmaq üçün.
  • Üçüncü Tərəf API Cavablarını YazinÜçüncü tərəf API cavablarından TypeScript interfeyslərini yaradın burada rəsmi tipləri itkin və ya köhnəlmişdir.

Necə İşləyir

Bu alət sıfır xarici kitabxana ilə əl ilə yazılmış rekursiv bir növ nəticələndirmə alqoritmi istifadə edir — girişi doğrulamaq və təhlil etmək üçün JSON.parse, sonra JSON ağacındakı hər dəyəri gəzərək TypeScript interfeys və ya növ bəyanatlarını birbaşa brauzerdə yaradan fərdi bir gəzinti. Heç nə bir serverə göndərilmir.

  1. 1
    JSON təhlil edilir və doğrulanır
    Girişiniz JSON.parse-ə ötürülür. Uğursuz olarsa, dəqiq təhlil xətası dərhal girişin altında üzə çıxır. Uğurlu bir təhlil çevirmənin qalanını idarə edən yazılmış bir dəyər ağacı yaradır.
  2. 2
    Rekursiv növ nəticələndirilməsi
    Rekursiv bir getType funksiyası hər qovşağı gəzir: primitivlər string, number, boolean, ya da null-a xəritələnir; obyektlər yeni adlandırılmış bir interfeys işə salır; obyekt massivlərinin açarları bütün elementlər boyunca birləşdirilir, ona görə yalnız bəzi elementlərdə mövcud olan açarlar isteğe bağlı olur, ziddiyyətli dəyər növləri isə | ilə birləşdirilir.
  3. 3
    Toqquşma-təhlükəsiz interfeys adlandırılması
    Hər iç-içə obyekt öz JSON açarından çıxarılan bir PascalCase adı alır (snake_case, kebab-case və boşluqlar hamısı normallaşdırılır). İki struktur cəhətdən fərqli obyekt eyni adı paylaşacaqsa, əvvəlki bəyanatı sükutla üstünə yazmaq əvəzinə rəqəmsal bir suffiks əlavə edilir (Data, Data2, …).
  4. 4
    Render edilmiş və endirilə bilən çıxış
    İç-içə interfeyslər əvvəlcə yaradılır, sonra seçiminizdən asılı olaraq export interface ya da export type kimi formatlanmış kök növü. Nəticə mübadilə buferinə kopyalana, ya da .ts faylı kimi endirilə bilər — hamısı standart bir Blob ilə qurulub, server gediş-gəlişi yoxdur.

Əlaqəli Alətlər

Tez-tez Verilən Suallar