UTILS.
Приватность по умолчанию
TS

JSON в TypeScript

Генерация интерфейсов TypeScript из образца JSON с рекурсивным выводом типов.

Ваши файлы остаются на этом устройстве

Файлы обрабатываются в браузере и не отправляются на сервер. Сайт загружает код и ресурсы для работы инструментов. Без аккаунтов и трекеров.

Нажмите «Скачать», чтобы сохранить инструмент одним HTML-файлом для работы офлайн.

Конфиденциальность →
результат

Попробуйте разобранный пример

Пример

Вставьте [{"id":1},{"id":2,"note":"late"}]. Результат — type Root = RootItem[]; и интерфейс RootItem с id: number и note?: string, потому что в первом элементе нет note.

Учтите

Типы берутся только из вставленного образца. Поле, которое здесь является строкой, в других ответах может быть null, а числа не разделяются на целые и дробные, поэтому сверьте результат с документацией API.

Об этом инструменте

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

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

Как обрабатываются вложенные объекты?
Каждый вложенный объект становится отдельным интерфейсом с именем в PascalCase по его ключу. Объекты внутри массивов получают суффикс Item, например TagsItem.
Как типизируются массивы?
Проверяется каждый элемент. Объекты объединяются в один интерфейс, поля, которых нет в некоторых из них, помечаются как необязательные знаком ?, а смешанные значения становятся объединением вроде (string | number)[]. Пустые массивы становятся unknown[].

Больше инструментов