Command Palette

Search for a command to run...

JS

json в машинописный

Сгенерируйте интерфейсы TypeScript из любого образца JSON. Выводит вложенные типы, объединяет массивы объектов в один интерфейс, помечает nullable и отсутствующие ключи необязательные и выдает чистый экспортируемый код. 100% клиентская.

Что такое конвертер JSON в TypeScript?

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

Ввод ответа API вручную утомителен и подвержен ошибкам определенным образом: вы вводите то, что вы * думаете* конечная точка возвращает, а не то, что она возвращает. поля, которые вы никогда не замечали, опускаются, целое число, которое иногда нулевое, вводится как `number`, и ошибка всплывает во время выполнения в производстве, а не в вашем редакторе. Создание типов прямо из реальной полезной нагрузки закрывает этот пробел, потому что форма, против которой вы компилируете, - это форма, которую отправил сервер.

Все работает в вашем браузере. механизм вывода - это TypeScript без зависимостей, а не оболочка вокруг удаленного сервиса, поэтому полезные нагрузки, которые обычно несут токены доступа, записи клиентов и внутренние идентификаторы, никогда не покидают страницу. Выберите интерфейсы или псевдонимы типов, переключите ключевое слово `export` и модификаторы `readonly`, выберите ширину отступа, затем скопируйте вывод или загрузите файл.ts.

Быстрый способ увидеть, что JSON к TypeScript конверсия дает вам является встроенный сэмпл. Нажмите Load Sample, затем Generate. вы получаете три интерфейса JSON к TypeScript: `Rooth`, `Owner` и `Release`. Второй релиз не имеет `notes` ключ, поэтому объединенный интерфейс `Release` читает `notes?: string, и `retiredAt является нулевым в единственной записи, так что он становится `retiredAt?: null`.That является честным результатом, потому что один null не дает доказательств реального типа. Чтобы конвертировать JSON в TypeScript для реальной конечной точки, вставьте несколько записей, чтобы вывод имел больше для сравнения.

Сгенерированные интерфейсы описывают предоставленную вами выборку, а не API, который вы вызываете, и это различие - весь риск. поле, которое случайно присутствует в каждом объекте вашей выборки, отмечено необходимым, даже если сервер иногда его пропускает, а поле, которое в выборке является нулевым, нельзя отличить от поля, которое всегда является нулевым. Пустые массивы - самый ясный случай: массив без элементов не дает никакой информации о том, что он содержит. Объединение массивов помогает здесь, объединяя каждый объект в списке в один интерфейс и отмечая ключи, которые отсутствуют в некоторых записях, как необязательные, поэтому более крупная и разнообразная выборка создает более честный тип. Где API имеет схему или документ OpenAPI, сгенерируйте из этого вместо этого и используйте это для изучения недокументированного ответа.

Как использовать конвертер JSON в TypeScript?

  1. Вставьте свой JSON

    Откройте ответ API, файл приспособления или любое значение JSON. Сначала загрузите образец, если вы хотите увидеть, как обрабатываются вложенные объекты, массивы и поля NULL.

  2. Назовите корневой тип

    Установите имя корневого типа - обычно ресурс, например Пользователь или Счет. Вложенные интерфейсы называются автоматически из ключа, а имена элементов массива выделяются по отдельности (выпуски становятся выпуском).

  3. Выберите свой стиль вывода

    Выберите интерфейс или тип псевдонима, решите, следует ли экспортировать каждое объявление, добавить модификаторы ReadOnly, если ваша кодовая база предпочитает неизменяемые фигуры, и установите отступ в 2 или 4 пробелы.

  4. генерировать, затем скопировать или загрузить

    нажмите «Генерировать». Просмотрите предполагаемые опции и объединения, затем скопируйте код в свой буфер обмена или загрузите его в виде файла .TS, готовых поместить в папку «Типы».

Основные характеристики

  • Извлечение вложенного интерфейса

    Каждый вложенный объект становится своим именованным многократным интерфейсом вместо встроенной анонимной формы, поэтому вы можете независимо импортировать и ссылаться на внутренние типы.

  • Слияние смарт-массивов

    Массив объектов объединяется в один элемент интерфейса. Ключи, присутствующие в некоторых записях, но не другие, становятся необязательными, что именно так ведут реальные данные API.

  • Обработка с обнуляемым управлением

    Выберите, означает ли значение NULL, что ключ является необязательным или принадлежит NULL в union. Оба соглашения являются обычным явлением; инструмент не навязывает одну из ваших кодов.

  • интерфейсы или псевдонимы типов

    Выпускайте `User interface user {}` или `type user = {}`, чтобы соответствовать вашим существующим правилам lint, с необязательными модификаторами `export` и `readOnly`, применяемыми к каждому объявлению.

Frequently Asked Questions

Вставьте свой JSON в редактор, установите имя корневого типа и нажмите "Генерировать". Инструмент выводит тип каждого ключа, извлекает вложенные объекты в свои собственные интерфейсы и выводит код, который вы можете скопировать прямо в файл.ts. В вашем браузере не выполняется регистрация и загрузка - вывод.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!

json to typescriptjson to typescript interfaceconvert json to typescriptjson to interface generatortypescript type generatorjson to typegenerate typescript from jsonapi response typestypescript interface from apijson schema to typescript