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

Типы TypeScript из JSON

Создавайте типы по образцам JSON с вложенными объектами, необязательными свойствами, массивами и объединениями.

Типы выводятся из этого примера. Отсутствующие свойства становятся необязательными, пустые массивы используют unknown[].

Результат обновляется при вводе


    
Обработка в браузере. Данные не отправляются и не сохраняются.

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

Начните описание типов с ответа API, затем сверьте полученную заготовку с реальным контрактом.

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

Вставьте характерный пример и задайте имя типа. Скопируйте код или скачайте .ts. Объекты массива анализируются вместе: отсутствующие свойства становятся необязательными, разные типы объединяются.

Для пустого массива используется unknown[], для пустого объекта — { [key: string]: unknown }. Сверьте результат с контрактом API: пример не описывает все варианты данных. Пределы: 2 МиБ, 30 000 значений, 80 уровней; без повторяющихся ключей.

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

Охватывает ли пример все возможные ответы?

Учитываются только переданные значения. Свойства, отсутствующие в части объектов, становятся необязательными; пустые массивы — unknown[]. Проверка данных во время выполнения не создаётся.

Подходит ли сгенерированный тип number для очень большого ID в JSON?

Генератор назначает числовым значениям JSON тип number, но не меняет способ их чтения в JavaScript. Целые числа за пределами безопасного диапазона могут потерять точность уже в вашем приложении. Передавайте такие ID строками или используйте парсер с сохранением больших чисел и скорректируйте полученный тип.

Комментарии

0
, чтобы присоединиться к обсуждению.
Комментариев пока нет.
Ветка ответов

Просматривайте беседу в хронологическом порядке; у каждого ответа указано сообщение, на которое он дан.