Генераторы кода
Генератор от JSON до TypeScript
Вставьте ответ JSON и получите готовый к вставке ответ TypeScript. Элементы массива объединяются, поэтому обнаруживаются необязательные поля, вложенные объекты становятся именованными интерфейсами, а смешанные типы становятся честными объединениями.
- 100% работает в вашем браузере
- Нет регистрации · Нет загрузок
- Бесплатное неограниченное использование
JSON образец
Примеры: Пользовательский объект · Список с необязательными полями —⌘/Ctrl + Enter преобразует · перетаскивает файл, чтобы загрузить его · обрабатывается локально
TypeScript
Вывод доступен только для чтения. Используйте «Копировать», «Загрузить» или «Поделиться», чтобы удалить его.
Как использовать инструмент от JSON до TypeScript
-
Вставьте реальный ответ
Используйте полезную нагрузку, включающую необязательные поля и поля, допускающие значение NULL, которые вы действительно видите в рабочей среде — чем репрезентативнее, тем лучше выведенные типы.
-
Назовите свой тип корня
Дайте корневому типу имя, которое он имеет в вашей кодовой базе (User, Order, ApiResponse), и выберите интерфейсы или введите псевдонимы в соответствии с вашим руководством по стилю.
-
Скопируйте в свой проект
Вставьте результат в файл типов. Для проверки во время выполнения соедините его со схемой JSON или валидатором времени выполнения, например Zod.
Чем отличается этот инструмент
- Объединяет формы элементов массива и помечает неуниверсальные ключи как необязательные.
- Объединения для смешанных типов (строка | число, строка | ноль), а не молчание
- Вложенные объекты, имена которых соответствуют их ключевому пути (адрес, свидетельство,…).
- Вывод интерфейса или псевдонима типа с настраиваемым корневым именем
- Дополнительное определение даты ISO для пометки полей меток времени
Конфиденциальность по архитектуре: эта страница не содержит аналитики, которая получает ваши данные, а код преобразования запускается на вашей вкладке. Вы можете отключиться от сети после загрузки и продолжить работу.
от JSON до TypeScript — часто задаваемые вопросы
Как обнаруживаются необязательные поля?
Когда входные данные представляют собой массив объектов, каждое свойство проверяется для каждого элемента. Ключ, отсутствующий в некоторых элементах, помечается необязательным знаком ?, а ключи, присутствующие повсюду, остаются обязательными.
Как поля, допускающие значение NULL, становятся типами?
Значение NULL рассматривается как отдельный тип, поэтому поле, которое иногда является строкой, а иногда и имеет значение NULL, является типизированным string | null — честный тип, а не ложь, которой доверяет ваш компилятор.
Интерфейсы или псевдонимы типов — что выбрать?
Интерфейсы являются более распространенным соглашением и хорошо объединяются в объявлениях; Псевдонимы типов лучше читаются для объединений и пересечений. Функционально для сгенерированных форм данных работает любой вариант — соответствует существующей кодовой базе.
Может ли он генерировать Zod или другие схемы времени выполнения?
Не напрямую. Создайте схему JSON из той же полезной нагрузки и получите валидатор или напишите схему Zod вручную и используйте эти интерфейсы для статической стороны. Типы описывают форму во время компиляции; валидаторы защищают вас во время выполнения.
Работает ли это для больших ответов API?
Да. Вставьте или удалите файл JSON — вложенность определяется рекурсивно. Очень большие полезные нагрузки ограничиваются памятью браузера, а не самим генератором.
Сопутствующие инструменты
Ищете “JSON в ТС”, “json для интерфейса”, “альтернатива быстрому типу”? Вы находитесь в правильном месте — просмотреть все инструменты 19.