JSON в TypeScript
Генерируйте TypeScript-интерфейсы из образца JSON с вложенными типами, массивами и опциональными полями. Работает в браузере.
Похожие инструменты
Как использовать JSON в TS
- 01
Вставьте JSON-объект или массив.
- 02
При желании укажите имя корневого интерфейса.
- 03
Скопируйте сгенерированные TypeScript-интерфейсы.
Что делает генератор
Это генератор TypeScript из JSON, который выводит набор интерфейсов из примера объекта или массива JSON, чтобы вы могли вставить ответ API и получить готовые типы вместо того, чтобы писать их вручную.
Он сильно экономит время, когда вы работаете с API или файлом конфигурации: вставьте ответ, при желании задайте имя корневого интерфейса и скопируйте чистый TypeScript прямо в свой код.
Генерация выполняется полностью в вашем браузере, поэтому ваши данные никогда не покидают устройство, что важно, когда в примере есть реальные значения.
Как он обрабатывает реальные структуры
Он справляется с реальными структурами: вложенные объекты становятся собственными именованными интерфейсами, на которые ссылается родитель, массивы объектов объединяются в один интерфейс, а там, где значения различаются, создаются объединения типов.
Необязательные поля в смешанных массивах
Когда объекты в массиве имеют разный набор ключей, ключи, отсутствующие у части элементов, помечаются необязательными знаком вопроса, что соответствует реальному поведению данных и делает типы честными.
Он выводит типы, но не навязывает схему
Важный момент: он выводит структуру из единственного переданного вами примера, а не навязывает схему. Если поле иногда бывает null или отсутствует в реальных данных, но не в вашем примере, созданный тип об этом не узнает, поэтому берите представительный образец.
Часто задаваемые вопросы
Как обрабатываются вложенные объекты?
Каждый вложенный объект становится отдельным именованным интерфейсом, на который ссылается родительский -- результат чистый и повторно используемый.
Что происходит с массивами разных форм?
Массивы объектов объединяются в один интерфейс, а ключи, отсутствующие в некоторых элементах, помечаются опциональными. Массивы смешанных примитивов получают тип объединения элементов.
Загружается ли мой JSON куда-либо?
Нет. Типы генерируются полностью в браузере, поэтому данные никогда не покидают устройство.