Command Palette

Search for a command to run...

JS

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

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

Style:
Indent:
Category:data
Mode:Offline
Version:1.0.0
Access:Free

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

JSON to TypeScript interface on Toolz.dev - Generate TypeScript interfaces from any JSON sample. Infers nested types, merges arrays of objects into a single interface, marks nullable and missing keys optional, and emits clean exportable code. 100% client-side.

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

Ввод вручную ответа API утомительно и подвержен ошибкам определенным образом: вы вводите то, что вы *думаете*, возвращает конечная точка, а не то, что она на самом деле возвращает. Поля, которые вы никогда не замечали, опускаются, целое число, которое иногда null, вводится как «номер», а ошибка появляется во время выполнения в процессе производства, а не в вашем редакторе. Генерация типов прямо из реальной полезной нагрузки закрывает этот пробел, потому что форма, которую вы компилируете, — это форма, которую фактически отправил сервер.

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

Сгенерированные интерфейсы описывают предоставленную вами выборку, а не 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