Үндсэн агуулга руу очих
LibraTool logoLibraTool

JSON-г TypeScript болгох хөрвүүлэгч — үнэгүй

Дурын JSON объект эсвэл массивыг TypeScript интерфейс эсвэл хэлбэрийн нэрт хөрвүүлэх. JSON-г буулгаж бэлэн TypeScript хэлбэрүүдийг агшин зуур авах.

Ачаалагдсаны дараа офлайн ажилладаг
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;
}

Түгээмэл хэрэглээ

  • API хариултаас TypeScript төрлүүдийг үүсгэхAPI JSON хариултыг наалдуулж, шууд аж ахуйн урд төмөр код төрөл хэмжээн TypeScript интерфэйсүүдийг үүсгэх.
  • Конфиг болон тохиргоо объектуудын TypeScript төрлүүдJSON конфигурацийн файлуудаас TypeScript интерфэйсүүдийг үүсгэхийн зориулалтаар төрөл аюулгүй байдлыг нэмэх.
  • Өгөгдлийн сан рекордуудаас TypeScript төрлүүдийг үүсгэхJSON-д экспортолсон өгөгдлийн сан рекордуудыг эсвэл ORM асуулта үр дүнгүүдийг өгөгдлийн давхаргын төрөлчилсэн TypeScript интерфэйсийн хувьд хөрвүүлэх.
  • Макетын өгөгдөл болон туршилтын дэлгүүрүүдийн төрлүүдийг оруулнаJSON макетын өгөгдөл болон туршилтын дэлгүүрүүдээс TypeScript интерфэйсүүдийг үүсгэх, нэгж туршилтаа болон Storybook түүхүүдийг төрлүүлэхийн зориулалтаар.
  • Гуравдахь талын API хариултуудыг төрлүүлэхАлбан ёсны төрлүүд байхгүй эсвэл хуучирсан гуравдахь талын API хариултаас TypeScript интерфэйсүүдийг үүсгэх.

Хэрхэн ажилладаг

Энэ хэрэгсэл ямар ч гадаад номын сангүй гараар бичсэн рекурсив төрлийн дүгнэлтийн алгоритм ашигладаг — оролтыг баталгаажуулж задлахад JSON.parse, дараа нь JSON мод дахь утга бүрийг гүйж TypeScript interface эсвэл type тодорхойлолтыг шууд хөтчид гаргадаг өөрийн давталт. Серверт юу ч илгээгддэггүй.

  1. 1
    JSON задарч, шалгагдана
    Таны оролт JSON.parse руу дамжигдана. Хэрэв бүтэлгүйтвэл яг задлалтын алдаа оролтын доор шууд гарч ирдэг. Амжилттай задлалт хөрвүүлэлтийн бусад хэсгийг удирддаг төрөлжсөн утгын мод үүсгэдэг.
  2. 2
    Рекурсив төрлийн дүгнэлт
    Рекурсив getType функц node бүрийг гүйдэг: анхдагч нь string, number, boolean, эсвэл null руу зурагладаг; объект шинэ нэрлэсэн interface идэвхжүүлдэг; объектуудын массив бүх элементийн хооронд түлхүүрээ нэгтгэдэг, зарим зүйлд л байгаа түлхүүр сонголт болж, зөрчилдөх утгын төрлүүд |-аар нэгддэг.
  3. 3
    Мөргөлдөөнөөс-аюулгүй interface нэрлэлт
    Үүрлэсэн объект бүр JSON түлхүүрээс гаргасан PascalCase нэр авдаг (snake_case, kebab-case, зай бүгд нормалчлагддаг). Хэрэв бүтцээрээ өөр хоёр объект ижил нэр авах бол тоон дагавар нэмэгддэг (Data, Data2, …), өмнөх тодорхойлолтыг чимээгүй дарж бичихийн оронд.
  4. 4
    Гаралт зурагдаж татахад бэлэн
    Үүрлэсэн interface эхэлж, дараа нь root type, таны сонголтоос хамааран export interface эсвэл export type болж форматлагдаж гардаг. Үр дүнг clipboard руу хуулах эсвэл .ts файл болгон татаж болно — бүгд стандарт Blob-оор бүтээгдсэн, серверийн дамжуулалтгүй.

Холбоотой хэрэгслүүд

Түгээмэл асуултууд