LibraTool logoLibraTool

Табдилдиҳандаи JSON ба TypeScript-и ройгон

Интерфейсҳо ё псевдонимҳои навъи TypeScript-ро аз ҳар объект ё массиви JSON тавлид кунед. 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;
}

Чӣ тавр он кор мекунад

Ин абзор алгоритми хулосабарории навъи рекурсивии дастнависро бо сифр китобхонаи берунӣ истифода мебарад — JSON.parse барои санҷиш ва таҳлили вуруд, сипас тайкунии фармоишӣ, ки ҳар қимматро дар дарахти JSON тай карда, эъломияи интерфейс ё навъи TypeScript-ро бевосита дар браузер мебарорад. Ҳеҷ чиз ба сервер фиристода намешавад.

  1. 1
    JSON таҳлил ва санҷида мешавад
    Вуруди шумо ба JSON.parse супорида мешавад. Агар он ноком шавад, хатои дурусти таҳлил фавран зери вуруд ошкор мешавад. Таҳлили муваффақ дарахти қиммати навъиро тавлид мекунад, ки боқимондаи табдилро идора мекунад.
  2. 2
    Хулосабарории навъи рекурсивӣ
    Функсияи рекурсивии getType ҳар гиреҳро тай мекунад: примитивҳо ба string, number, boolean ё null харита мешаванд; объектҳо интерфейси навбатидорро фаъол мекунанд; массивҳои объектҳо калидҳои худро дар тамоми элементҳо якҷоя мекунанд, бинобар ин калидҳое ки танҳо дар баъзе вурудиҳо ҳастанд ихтиёрӣ мешаванд ва навъҳои қиммати мутаориз бо | пайваст мешаванд.
  3. 3
    Номгузории интерфейси бехатар-аз-бархӯрд
    Ҳар объекти гирифтор номи PascalCase аз калиди JSON-и он мегирад (snake_case, kebab-case ва фосилаҳо ҳама муқаррар мешаванд). Агар ду объекти сохторан гуногун бояд ҳамон номро мубодила кунанд, суффикси рақамӣ илова карда мешавад (Data, Data2, …) на ба таври хомӯш эъломияи қаблиро рӯйпӯш кунад.
  4. 4
    Натиҷа тасвир ва боргиришаванда
    Интерфейсҳои гирифтор аввал бароварда мешаванд, сипас навъи реша, форматбандишуда ҳамчун export interface ё export type вобаста ба интихоби шумо. Натиҷаро метавон ба ҳофиза нусхабардорӣ кард ё ҳамчун файли .ts боргирӣ кард — ҳама бо Blob-и стандартӣ бидуни давраи сервер сохта шудааст.

Абзорҳои марбут

Саволҳои зуд-зуд додашаванда