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

Конвертер JSON в TypeScript

Преобразуйте образец JSON в интерфейсы или псевдонимы типов TypeScript. Определяет примитивные, массивные и вложенные объектные типы, объединяет массивы объектов в один интерфейс с необязательными ключами и позволяет задать имя корневого типа.

Ввод

Имя верхнего интерфейса/типа. Преобразуется в PascalCase.

Как типизируется null в JSON. Пустые массивы всегда становятся unknown[].

Вывод

Вывод TypeScript
 
Это было полезно?

Другие способы использовать этот инструмент

REST API

curl -X POST https://api.iotools.cloud/v1/tool/json-to-typescript-converter \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonInput": "{\"id\":1,\"tags\":[\"admin\",\"user\"],\"scores\":[95,87]…",
    "rootName": "Root",
    "exportStyle": "interface",
    "nullType": "null"
  }'

Подставьте свой собственный ключ из аккаунта. Поля инструмента — это тело запроса, без обёртки.

Спросите у ИИ-агента

Use the IOTools `json-to-typescript-converter` tool (JSON to TypeScript Converter) on this input:

YOUR_INPUT_HERE

Вставьте это любому агенту, подключённому к MCP-серверу IOTools, и добавьте свой ввод.

Виджет для встраивания

<iframe
  src="https://iotools.cloud/embed/json-to-typescript-converter/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Конвертер JSON в TypeScript — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

Вставьте это на свою страницу — бесплатно, без ключа, нужна лишь обратная ссылка.

Стоимость вызова API/MCPОт 5 кредитов
Нужно больше кредитов?Посмотреть тарифы

Также доступно через

Руководства

Вставьте образец JSON и получите готовые к использованию интерфейсы или псевдонимы типов TypeScript, описывающие его структуру. Конвертер анализирует JSON, определяет тип каждого значения и сам даёт имена вложенным структурам — никакой ручной работы и догадок. Это самый быстрый способ превратить ответ API, файл конфигурации или фикстуру в типизированный код.

Что он делает

Инструмент читает JSON и создаёт соответствующие определения TypeScript:

  • Примитивы отображаются на string, number и boolean.
  • Вложенные объекты становятся отдельными именованными interface, на которые ссылается родитель (например, address: Address).
  • Массивы примитивов становятся T[], а неоднородные массивы — объединением, например (number | string)[].
  • Массивы объектов сводятся к одному интерфейсу, который объединяет все ключи, встречающиеся у элементов. Ключ, отсутствующий хотя бы у одного элемента, помечается необязательным с помощью key?:.
  • Значения null расширяются до null (или undefined — на ваш выбор) вместо того, чтобы ломать вывод.
  • Пустые массивы становятся unknown[], поскольку выводить нечего.

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

  1. Вставьте или введите JSON в поле ввода.
  2. Задайте имя корневого типа — оно задаёт имя интерфейса верхнего уровня (по умолчанию Root, преобразуется в PascalCase).
  3. Выберите стиль вывода: псевдоним interface или type.
  4. Укажите, как типизировать значения null (null или undefined).
  5. Скопируйте сгенерированный TypeScript или скачайте его как interfaces.ts.

Вывод обновляется автоматически при редактировании, поэтому вы можете менять JSON и видеть, как типы изменяются в реальном времени.

Что выбрать — interface или type?

Интерфейсы — традиционный выбор для форм объектов и поддерживают объединение объявлений; псевдонимы типов удобны, когда нужно скомпоновать или экспортировать форму вместе с объединениями и вспомогательными типами. Сгенерированные члены идентичны, поэтому выбирайте то, что подходит вашей кодовой базе. Между ними можно переключаться в любой момент.

Как обрабатываются массивы объектов?

Каждый объект в массиве сканируется, и их ключи объединяются в один интерфейс. Ключ, присутствующий у части элементов, но не у всех, делается необязательным (key?:). Обычно это именно то, что нужно для массивов из реальных API, где записи не полностью однородны.

Что происходит со смешанными или пустыми массивами?

Смешанный массив вроде [1, "two"] даёт элемент-объединение: (number | string)[]. В пустом массиве нет элементов для анализа, поэтому он становится unknown[] — безопасно и явно, а позже легко сузить.

Поддерживает ли он глубоко вложенный JSON?

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

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

Конвертер полностью работает в вашем браузере. JSON анализируется и преобразуется на вашем устройстве — он никогда не загружается на сервер, не логируется и не сохраняется. Его можно использовать с чувствительными данными и работать офлайн после загрузки страницы.

jsontypescriptinterfacetypedevelopercodegen

Часть рабочего процесса

Все подборки

Нравятся инструменты? Уберите рекламу.

Один платёж навсегда убирает всю рекламу с вашего аккаунта. Без подписки, без слежки.