JSON в TypeScript
JSON в TypeScript
Преобразует примеры JSON в интерфейсы и псевдонимы типов TypeScript, автоматически объединяет поля массивов объектов, определяет необязательные поля и объединения с null и генерирует подходящие объявления типов для пустых массивов и объектов. Подходит для моделирования ответов API, подготовки типов на фронтенде и упорядочивания структур данных.
Быстрый старт
Частые сценарии
Преобразуйте реальные ответы API в стартовые TypeScript-модели для фронтенд-страниц, SDK-клиентов или интеграционных тестов.
Проверяйте смешанные массивы объектов, чтобы увидеть необязательные поля и объединения типов до фиксации API-контракта.
Преобразуйте тестовые JSON-данные в быстрые определения типов для fixture, историй Storybook или прототипов.
Проверяйте вложенные объявления вроде User и Meta, когда меняется форма backend payload.
Рекомендации по использованию
Ограничения и совместимость
Конфиденциальность и безопасность
Частые вопросы
Корни-объекты создают интерфейсы. Корни-массивы и примитивные значения создают псевдонимы типов. Для массива объектов верхнего уровня корень остаётся псевдонимом типа, например type Root = RootItem[];, а структура элемента объявляется отдельно.
Если в примере нет элементов массива или свойств объекта, генератор не может вывести более узкий тип. Он оставляет пустые массивы как unknown[] и пустые объекты как interface, расширяющий Record<string, unknown>, пока вы не вставите более репрезентативные данные.
Если введённое имя уже является допустимым идентификатором TypeScript, оно сохраняется без изменений, например APIResponse. Некорректные имена перед генерацией нормализуются в стабильный PascalCase-идентификатор.
Текущий генератор нормализует вложенные имена по путям свойств и детерминированно разрешает коллизии. Поэтому новый вывод использует имена вроде User, Meta или FooBarClass, а не всегда добавляет префикс корневого имени.
Текущий контракт вывода намеренно возвращает обычные объявления без export. Это сохраняет нейтральность результата, а вы можете добавить export в стиле своего проекта.