Конвертер JSON у TypeScript — Безкоштовно онлайн

Вставте JSON і автоматично отримайте згенерований інтерфейс TypeScript, зокрема вкладені об'єкти.

Результати надаються виключно в інформаційних цілях і можуть містити помилки. Перевіряйте важливу інформацію самостійно. Використання цього інструмента здійснюється на ваш власний ризик.

Що робить цей інструмент

Конвертер JSON у TypeScript читає зразок JSON-об’єкта й генерує відповідні інтерфейси TypeScript. Кожен вкладений об’єкт отримує власний іменований інтерфейс, а тип кожної властивості виводиться з її значення: string, number, boolean, null, тип масиву або інший інтерфейс.

Назву інтерфейсу задайте в полі «Назва інтерфейсу». Якщо JSON є масивом, типи беруться з його першого елемента, і додається тип списку, як-от type UserList = User[];.

Коли використовувати

  • Типізація відповіді API, яке ви викликаєте з фронтенду на TypeScript чи із сервісу на Node.js.
  • Створення моделі даних на основі справжнього зразка JSON (payload) замість написання інтерфейсів вручну.
  • Документування для команди структури даних (payload) вебхука чи події.

Приклад

Введення

{"id": 1, "name": "Ana", "active": true, "address": {"city": "Lisbon"}, "tags": ["admin"]}

Виведення

interface Address {
  city: string;
}

interface User {
  id: number;
  name: string;
  active: boolean;
  address: Address;
  tags: string[];
}

Запитання про цей інструмент

Чи визначаються необов’язкові властивості?

Ні. Типи виводяться з одного зразка, тож властивості, якої в ньому немає, не буде й в інтерфейсі. Додайте ? до властивостей, які присутні не завжди, щоб позначити їх як необов’язкові.

Який тип отримує null?

Значення, що в зразку дорівнює null, отримує тип null. Якщо поле може містити значення, змініть тип на об’єднання, наприклад string | null.

Що відбувається з масивами змішаних значень?

Тип елемента стає об’єднанням, наприклад (string | number)[]. Порожній масив отримує тип unknown[], бо виводити тип немає з чого.

Цей інструмент безкоштовний?

Так, він безкоштовний. Без реєстрації та електронної пошти. Результат на цій сторінці.

Як отримати результат?

Скористайтеся інструментом на цій сторінці. Результат з’явиться тут, без надсилання електронною поштою.