Как пользоваться
- Вставьте пример JSON или нажмите «Загрузить пример».
- Задайте имя корневого типа.
- Выберите интерфейсы или псевдонимы типов (опция «Использовать type вместо interface»).
- Скопируйте или скачайте сгенерированные типы.
Описание параметров
- Имя корневого типа
- Имя типа верхнего уровня, например 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 с реальными данными остаются на вашем устройстве.
Конфиденциальность
Этот инструмент работает полностью в браузере. Ваши файлы и текст обрабатываются на вашем устройстве и никогда не загружаются на наши серверы.