JSON в TypeScript

Вставьте JSON и получите чистые TypeScript-интерфейсы: вложенные объекты, типизированные массивы, дедупликация форм и своё имя корня. Работает в браузере.

Всё работает в вашем браузере — данные не отправляются на сервер.

Зачем генерировать типы из JSON

Когда API возвращает ответ, кто-то должен описать его в TypeScript руками — поле за полем, уровень за уровнем. Это долго, а вторая версия эндпоинта делает описание устаревшим. Инструмент читает JSON один раз и пишет интерфейсы за вас: каждый вложенный объект становится интерфейсом, массивы — типизированными списками, а одинаковые формы автоматически схлопываются в один интерфейс.

Что умеет

  • Интерфейсы для каждого вложенного объекта с корректными именами полей — с кавычками там, где нужно.
  • Типизированные массивы, включая объединения, когда массив смешивает разные формы.
  • Дедупликация форм и своё имя корневого интерфейса.

Как пользоваться

  1. Вставьте JSON — ответ API, конфиг, любой валидный.
  2. При желании поменяйте имя корневого интерфейса.
  3. Скопируйте готовый TypeScript в свой проект.

Как это работает

Генератор рекурсивно обходит разобранный JSON, выводит тип для каждого значения, называет интерфейсы объектов в стиле PascalCase по имени ключа и запоминает сигнатуру каждой формы, чтобы одинаковые объекты переиспользовали один интерфейс. Всё выполняется локально в браузере.

Частые вопросы

Как обрабатываются имена полей?

Имена интерфейсов приводятся к PascalCase, а ключи, которые не являются валидными идентификаторами TypeScript, сохраняются, но берутся в кавычки — ровно так, как этого требует язык.

Что с пустыми массивами и null?

Пустой массив становится unknown[] (вывести тип не из чего), null превращается в тип null, а смешанные массивы дают объединение найденных внутри типов.

Похожие инструменты