Перейти к содержанию

JSON в TypeScript

JSON в TypeScript локально преобразует примеры JSON в интерфейсы TypeScript и type aliases, поддерживая optional-поля, вывод union/null/Date, имя root-типа и копирование или скачивание в формате .ts.

JSON

Символы

0 / 50,000

TypeScript

JSON в TypeScript

Быстрый старт

1
Вставьте корректный образец JSON в левый редактор.
2
При необходимости задайте имя корневого типа, например ApiResponse.
3
Проверьте TypeScript справа: объекты дают interface, массивы или примитивы — type alias.
4
Скопируйте или скачайте созданный .ts; панель ввода также работает с образцом JSON.

Частые сценарии

Преобразуйте реальные ответы API в стартовые TypeScript-модели для фронтенд-страниц, SDK-клиентов или интеграционных тестов После этого результат можно сразу скопировать, скачать или экспортировать.

Проверяйте смешанные массивы объектов, чтобы увидеть необязательные поля и объединения типов до фиксации API-контракта После этого результат можно сразу скопировать, скачать или экспортировать.

Преобразуйте тестовые JSON-данные в быстрые определения типов для fixture, историй Storybook или прототипов.

Проверяйте вложенные объявления вроде User и Meta, когда меняется форма backend payload После этого результат можно сразу скопировать, скачать или экспортировать.

Рекомендации по использованию

Используйте репрезентативный образец JSON. Это вывод на основе выборки, поэтому отсутствующие поля или значения не могут появиться в выходных данных.
Пустые массивы становятся unknown[], а пустые объекты — interface, расширяющим Record<string, unknown>, пока вы не добавите более содержательный пример.
Вложенные объявления нормализуются по именам свойств, поэтому новый вывод чаще использует имена вроде User или Meta вместо старых форм с префиксом корня.
Генерация работает только с корректным JSON. Сначала исправьте синтаксические ошибки; при сбое парсинга редактор показывает строку и столбец.
Корректные пользовательские имена корня сохраняются как есть; некорректные имена нормализуются в допустимый PascalCase-идентификатор TypeScript.

Границы вывода типа

Генератор делает выводы на основе текущего образца, а не на основе схемы JSON, Open API, GraphQL, файлов, URL-адресов, строк JSON или пакетных образцов.
Массивы объединяют наблюдаемые формы элементов: поля, отсутствующие в некоторых элементах, становятся необязательными, а нулевые или смешанные значения становятся объединениями.
Строки, подобные дате, могут быть интерпретированы как дата, но значение JSON во время выполнения по-прежнему является строкой, если ваш код не анализирует ее.
Корни объектов генерируют интерфейс; массивы и примитивные корни генерируют псевдонимы типов; пустые массивы используют неизвестный[], а пустые объекты расширяют Record<string, known>.
Имя root по умолчанию — Root. Допустимые пользовательские имена сохраняются, а недопустимые имена и зарезервированные слова нормализуются доPascalCase.
Выходные данные представляют собой только статические объявления TypeScript: нет валидатора времени выполнения, синтаксического анализатора, сериализатора, схемы Zod/Yup/io-ts или клиента API.

Ограничения и совместимость

Этот инструмент выводит типы на основе выборочных данных, а не на основе формальной схемы или контрактного источника истины. Поля, отсутствующие в вашем образце, невозможно угадать.
Ввод должен быть строгим JSON. Комментарии, висячие запятые и другой синтаксис, допустимый только в JavaScript, отклоняются.
Сгенерированный код TypeScript не содержит операторов export. Скачивание файла .ts не заменяет добавление ключевого слова export, если оно нужно вашему проекту.
Результатом является только статический код TypeScript. Он не создает валидаторы времени выполнения, анализаторы, сериализаторы, схемы Zod или клиенты API.

Конфиденциальность и безопасность

JSON в TypeScript выполняется локально в браузере. Ввод JSON может оставаться как черновик браузера. Если включено сохраненное рабочее пространство или синхронизация WebDAV, ввод JSON, имя корневого типа, настройки номеров строк ввода/вывода и настройки переноса строк могут сохраняться через эту синхронизацию. Сгенерированный TypeScript, ошибки проверки, подсветка строки/столбца, состояние копирования и история отмены выводятся из текущего ввода и не сохраняются как отдельные данные результата. Загрузки входного JSON и выходного .ts создаются только при нажатии Download. Этот инструмент не загружает файлы и не создает вложения.

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

6

Перейдите к следующему шагу с этими связанными инструментами.

Вся обработка инструментов выполняется локально в вашем браузере.