Конвертер JSON у TypeScript
Перетворюйте JSON на TypeScript-інтерфейси, type-псевдоніми або Zod-схему наживо, з реальним визначенням необов'язкових полів у масивах.
Результат
Писати TypeScript-інтерфейси вручну для відповіді JSON API — повільно й ризиковано: вкладеному обʼєкту потрібен власний інтерфейс, масиву — тип елемента, а полю, яке іноді відсутнє, — позначка необовʼязковості. Пропустіть щось із цього — і компілятор мовчатиме, поки ваш код розходиться з реальною формою даних.
Цей конвертер робить цю роботу за вас. Вставте будь-який JSON-обʼєкт або масив — і тул рекурсивно проходить структуру: вкладений обʼєкт стає власним іменованим інтерфейсом, масив обʼєктів отримує інтерфейс елемента з полями, звіреними між усіма елементами масиву — поле, присутнє лише в частині з них, позначається кінцевим ?, а поле, яке буває і null, і значенням, виходить як коректне обʼєднання на кшталт string | null замість одного з двох варіантів.
Перемикач формату змінює лише те, як друкується та сама виведена структура: блок interface, type-псевдонім або Zod-схема, зібрана з викликів z.object(), z.array() і z.union() з .optional() і .nullable() там, де це доречно. Сам Zod — окремий npm-пакет (npm install zod): цей тул лише пише вихідний код схеми, нічого не встановлюючи за вас.
Усе працює локально у вашому браузері одразу, щойно ви друкуєте чи вставляєте текст, — без кнопки відправлення й без завантаження на сервер, що зручно для даних із реальною інформацією клієнтів. Якщо потрібно попрацювати з самим текстом JSON, а не з виведеними типами — скористайтеся форматувальником JSON для форматування чи стиснення або валідатором JSON, щоб знайти синтаксичну помилку перед конвертацією.