JSON → TypeScript interface онлайн

По примеру ответа API строит TypeScript interface, чтобы не описывать 30 полей руками и ловить опечатки на компиляции.

Скопируйте interface в файл types.ts или рядом с API-клиентом. Это не runtime-проверка: в браузере типы стираются. Для валидации на лету нужен zod или JSON Schema.

Данные

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

Имя interface в TypeScript, латиницей без пробелов, с большой буквы.

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

Вставьте объект или массив. Имя типа задайте латиницей без пробелов.

Как интерпретировать результат

Массивы типизируются по первому элементу. null станет null, вложенные объекты — анонимными interface.

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

Это runtime-валидация?

Нет, только типы для компилятора. Для runtime возьмите zod/io-ts.

optional поля?

Все ключи из примера обязательные. Сделайте поле optional вручную через ?.

union из разных элементов массива?

Берётся первый элемент. Выровняйте пример.

Date как string?

Да, даты в JSON — строки.

Можно ли type вместо interface?

Для примитивов и массивов будет type, для объектов — interface.