UTILS.
Приватність за замовчуванням
TS

JSON у TypeScript

Генеруйте інтерфейси TypeScript зі зразка JSON, рекурсивно визначаючи типи.

Ваші файли залишаються на цьому пристрої

Файли обробляються у браузері й не надсилаються на сервер. Сайт завантажує код і ресурси для роботи інструментів. Без акаунтів і трекерів.

Натисніть «Завантажити», щоб зберегти інструмент одним HTML-файлом для роботи офлайн.

Конфіденційність →
результат

Спробуйте розібраний приклад

Приклад

Вставте [{"id":1},{"id":2,"note":"late"}]. Результат — type Root = RootItem[]; та інтерфейс RootItem з id: number і note?: string, бо в першому елементі немає note.

Зважайте

Типи беруться лише зі вставленого зразка. Поле, що тут є рядком, в інших відповідях може бути null, а числа не поділяються на цілі й дробові, тож звірте результат із документацією API.

Про цей інструмент

Вставте зразок JSON, наприклад відповідь API, і отримайте відповідні інтерфейси TypeScript, створені повністю у браузері. Перевіряється кожен елемент масиву: поля, яких немає в деяких елементах, стають необов’язковими, а значення різних типів — об’єднаннями.

Поширені запитання

Як обробляються вкладені обʼєкти?
Кожен вкладений об’єкт стає окремим інтерфейсом з назвою в PascalCase за його ключем. Об’єкти всередині масивів отримують суфікс Item, наприклад TagsItem.
Як типізуються масиви?
Перевіряється кожен елемент. Об’єкти поєднуються в один інтерфейс, поля, яких немає в деяких із них, позначаються як необов’язкові знаком ?, а змішані значення стають об’єднанням на кшталт (string | number)[]. Порожні масиви стають unknown[].

Більше інструментів