Преобразователь JSON в TypeScript считывает образец значения JSON — ответ API, файл конфигурации, запись базы данных — и записывает интерфейсы TypeScript, которые его описывают. Вложенные объекты становятся их собственными именованными интерфейсами, массивы объектов объединяются в один интерфейс элемента, а не в обширный союз, а ключи, которые не имеют значения или отсутствуют в некоторых записях, помечены как необязательные. Вы вставляете данные, которые у вас уже есть, вы получаете типы, которые иначе были бы писать вручную.
Ввод вручную ответа API утомительно и подвержен ошибкам определенным образом: вы вводите то, что вы *думаете*, возвращает конечная точка, а не то, что она на самом деле возвращает. Поля, которые вы никогда не замечали, опускаются, целое число, которое иногда null, вводится как «номер», а ошибка появляется во время выполнения в процессе производства, а не в вашем редакторе. Генерация типов прямо из реальной полезной нагрузки закрывает этот пробел, потому что форма, которую вы компилируете, — это форма, которую фактически отправил сервер.
Все работает в вашем браузере. Механизм вывода — это беззависимый TypeScript, а не оболочка для удаленной службы, поэтому полезные нагрузки, которые обычно несут токены доступа, записи клиентов и внутренние идентификаторы, никогда не покидают страницу. Выберите интерфейсы или псевдонимы типов, переключите ключевое слово `Экспорт` и модификаторы `readonly, выберите ширину отступа, затем скопируйте вывод или загрузите файл .ts.
Откройте ответ API, файл приспособления или любое значение JSON. Сначала загрузите образец, если вы хотите увидеть, как обрабатываются вложенные объекты, массивы и поля NULL.
Установите корневой тип имени — обычно ресурс, например, пользователь или счет. Вложенные интерфейсы автоматически именовываются из своего ключа, при этом имена элементов массива сингуляризируются (релизы становятся релизами).
Выберите интерфейс или тип псевдонима, решите, следует ли экспортировать каждое объявление, добавить модификаторы ReadOnly, если ваша кодовая база предпочитает неизменяемые фигуры, и установите отступ в 2 или 4 пробелы.
нажмите «Генерировать». Просмотрите предполагаемые опции и объединения, затем скопируйте код в свой буфер обмена или загрузите его в виде файла .TS, готовых поместить в папку «Типы».
Каждый вложенный объект становится своим именованным многократным интерфейсом вместо встроенной анонимной формы, поэтому вы можете независимо импортировать и ссылаться на внутренние типы.
Массив объектов объединяется в один элемент интерфейса. Ключи, присутствующие в некоторых записях, но не другие, становятся необязательными, что именно так ведут реальные данные API.
Выберите, означает ли значение NULL, что ключ является необязательным или принадлежит NULL в union. Оба соглашения являются обычным явлением; инструмент не навязывает одну из ваших кодов.
Выпускайте `User interface user {}` или `type user = {}`, чтобы соответствовать вашим существующим правилам lint, с необязательными модификаторами `export` и `readOnly`, применяемыми к каждому объявлению.
Format, validate, and minify JSON data
Convert JSON to clean, valid YAML instantly — configurable indentation and safe string quoting
Convert JSON to well-formed XML instantly. Map object keys to elements, @-prefixed keys to attributes and #text to content, expand arrays into repeated tags, and export minified or pretty-printed XML. 100% client-side.
0 comments
No comments yet. Be the first to share your thoughts!