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

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

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

Ввод

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

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

Вывод

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

Руководства

Вставьте образец 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

Use it from code

From 3 credits per call

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"
  }'

Swap in your own key from your account. The tool's fields are the body — no wrapper.

Ask an AI agent

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

YOUR_INPUT_HERE

Paste this at any agent connected to the IOTools MCP server, then add your input.

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

Все подборки

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

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