JSON → TypeScript

Перетворення зразка JSON на інтерфейси чи типи TypeScript просто в браузері.

Про JSON → TypeScript

Що це

JSON → TypeScript читає зразок JSON — відповідь API, конфігурацію, тестові дані — і пише оголошення TypeScript, які його описують. Вкладені об'єкти він оформлює окремими іменованими типами, поєднує форми елементів масиву та позначає поля, які трапляються не завжди, тож ви отримуєте типізовану основу замість ручного набору.

Основні можливості

  • Оголошення через interface чи type, з export або без.
  • Вкладені об'єкти — окремими іменованими типами або вбудовано.
  • Елементи масиву різної форми поєднуються в один тип; поле, якого немає в частині елементів, стає опціональним.
  • Власне ім'я кореневого типу.
  • Readonly поля, всі поля опціональні та приклади JSDoc зі значень зразка.

Як користуватися

  1. Вставте JSON у редактор, перетягніть на нього файл або натисніть «Приклад».
  2. Оберіть «Interface» або «Type» і задайте ім'я кореневого типу.
  3. Увімкніть потрібне: винесення вкладених типів, readonly поля, всі поля опціональні, JSDoc.
  4. Скопіюйте TypeScript або надішліть його в інший інструмент.

Коли корисно

  • Типізувати відповідь API, перш ніж використати її у фронтенді.
  • Описати файл конфігурації, який завантажується під час роботи.
  • Отримати чернетку типів для стороннього вебхука з одного реального payload.

Конфіденційність та обмеження

Ваші дані

Ваш JSON перетворюється в браузері й не надсилається на сервер — сайт отримує лише анонімну подію «інструмент відкрито», без вмісту. Результат, надісланий в інший інструмент, зберігається на цьому пристрої 24 години в «Останніх діях».

Обмеження

  • Типи описують лише наданий зразок: поля, якого в ньому немає, не буде й у результаті.
  • Значення null у зразку стає типом null — якщо знаєте справжній тип, допишіть його самі.

Поширені запитання

Що обрати: «Interface» чи «Type»?

Обидва описують ту саму форму. Інтерфейси можна розширювати й об'єднувати, а type зручний для union та псевдонімів. Якщо в проєкті є домовленість, тримайтеся її.

Як обробляються масиви об'єктів?

Форми всіх елементів поєднуються в один тип. Поле, яке є в одних елементах і відсутнє в інших, стає опціональним, тож тип підходить кожному елементу.

Чому замість типів з'являється помилка?

На вході має бути коректний JSON. Перевірте його в JSON Formatter — він покаже рядок і позицію помилки.