Перейти к содержимому
ToolMug

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

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

Работает в браузере — введённые данные никуда не загружаются

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

  1. Вставьте пример JSON или нажмите «Загрузить пример».
  2. Задайте имя корневого типа.
  3. Выберите интерфейсы или псевдонимы типов (опция «Использовать type вместо interface»).
  4. Скопируйте или скачайте сгенерированные типы.

Описание параметров

Имя корневого типа
Имя типа верхнего уровня, например User или ApiResponse. Вложенные типы называются по своим ключам — address становится Address, а элементы posts — Post.
Использовать type вместо interface
Генерирует псевдонимы типов (type User = { … }) вместо интерфейсов. Для обычных данных оба варианта работают одинаково.

Примеры

{"id": 1, "tags": ["a"], "owner": {"name": "Ada"}} превращается в:

export interface Owner {
  name: string;
}

export interface Root {
  id: number;
  tags: string[];
  owner: Owner;
}

Часто задаваемые вопросы

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

Все элементы объединяются в один тип. Ключ, который есть только в некоторых элементах, становится необязательным (key?), а значение, которое иногда равно null, — объединением типов, например string | null.

Почему у поля тип unknown?

В примере у этого поля было только значение null, поэтому его настоящий тип определить нельзя. Замените unknown на правильный тип или вставьте пример, где у поля есть значение.

Различаются ли целые и дробные числа?

В TypeScript — нет, оба становятся number. В вариантах для Go, Rust и Python они различаются.

Загружается ли мой JSON на сервер?

Нет. Типы генерируются в вашем браузере, поэтому ответы API с реальными данными остаются на вашем устройстве.

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

Этот инструмент работает полностью в браузере. Ваши файлы и текст обрабатываются на вашем устройстве и никогда не загружаются на наши серверы.

Похожие инструменты