инструмент для разработчиков / 15

Генератор JSON в TypeScript

Преобразуйте объекты и массивы JSON в строго типизированные интерфейсы или объявления типов TypeScript.

Генератор JSON в TypeScript: TOEA рекурсивно анализирует типы JSON и вложенные ключи, чтобы определить интерфейсы TypeScript и массивы объединений типов. Работает на 100% локально в вашем браузере, файлы на сервер не загружаются.

Запуски
В вашем браузере
Стоимость
Бесплатно · без регистрации
Доступность
Готово к использованию

Один пример — одна структура

Типы точно описывают пример. Поле со значением null становится типом null, пустой массив — any[], а объекты внутри массива получают структуру только из первого элемента. Исправьте это вручную: null обычно означает string | null или аналогичный тип, а поля, присутствующие лишь в некоторых записях, должны быть необязательными. Два вложенных объекта с одинаковым именем ключа используют один интерфейс, названный по этому ключу, поэтому проверьте, подходят ли его поля обоим объектам.

Типы не проверяют данные

Типы TypeScript исчезают при компиляции кода. Если API позже отправит поле как строку вместо числа, во время выполнения ничто это не остановит, и ошибка появится в другом месте. Данные из внешних источников проверяйте при получении: по JSON Schema, которую можно протестировать в валидаторе JSON Schema, или с помощью библиотеки валидации во время выполнения.

Для обычных данных выбор между interface и type редко имеет значение. Интерфейсы можно расширять и объединять, а псевдонимы типов также позволяют описывать объединения.

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

  1. Вставьте JSON в поле ввода.
  2. Настройте имя корневого интерфейса, стиль объявления или необязательные поля.
  3. Скопируйте сгенерированный код TypeScript.

Конфиденциальность и ограничения

Ваши данные JSON полностью обрабатываются в оперативной памяти браузера. На сервер ничего не загружается.

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

Часто задаваемые вопросы

Поддерживаются ли вложенные объекты?

Да, для вложенных объектов автоматически создаются дочерние интерфейсы.

Можно ли создавать псевдонимы типов вместо интерфейсов?

Да, выберите «type» в поле «Стиль объявления».

Бесплатный инструмент · запусков: в вашем браузере · аккаунт не нужен