Як користуватися: JSON у типи
- 1
Вставте зразки JSON
Вставте одну відповідь, масив записів або кілька відповідей поспіль; приклад показує двох обʼєднаних користувачів.
- 2
Оберіть мову
Виберіть TypeScript, Zod, Go, Python, Java, C#, Kotlin, Swift або Rust і налаштуйте стиль для неї.
- 3
Назвіть кореневий тип
Вкажіть імʼя типу верхнього рівня, наприклад User або OrderResponse.
- 4
Згенеруйте й скопіюйте
Натисніть «Згенерувати типи», потім скопіюйте код або завантажте його; після змін код генерується заново автоматично.
Ліміти та Pro
Безкоштовно й без реєстрації: 9 мов виводу з 3 стилями Python, будь-яка кількість обʼєднаних зразків і файли до 20 MB; генерація зупиняється через 30 секунд.
Pro прибирає рекламу; генератор однаковий в усіх тарифах. Дивитися Pro
Про інструмент: JSON у типи
Писати типи вручну для відповіді API довго, і легко помилитися, особливо коли дані вкладені на три рівні. Вставте один чи кілька зразків JSON, і генератор визначить структуру та напише готові до використання визначення для дев’яти мов: інтерфейси або псевдоніми типів TypeScript, TypeScript зі схемами Zod для перевірки під час виконання, структури Go з тегами json, dataclass, TypedDict або моделі Pydantic v2 для Python, records Java з анотаціями Jackson, класи C# для System.Text.Json, data class Kotlin для kotlinx.serialization, структури Swift Codable і структури Rust для serde.
Один зразок рідко показує всі поля, тому генератор обʼєднує стільки зразків, скільки ви надасте. Вставте кілька документів поспіль, JSON Lines або масив обʼєктів: ключ, якого бракує в деяких обʼєктах, стане необовʼязковим, ключ, що подекуди дорівнює null, стане nullable, ціле число, яке подекуди трапляється дробовим, стане float, а справді змішані значення стануть обʼєднанням (union) або динамічним типом JSON цієї мови. Вкладені обʼєкти отримують власні іменовані типи: orders стає Order, addresses стає Address. Однакові структури генеруються один раз і використовуються повторно. Обʼєкти, ключами яких є числа, UUID або дати, перетворюються на словники (map).
Назви полів приводяться до конвенцій кожної мови, а ключі JSON, що відрізняються, наприклад first-name або class, звʼязуються з полями за допомогою відповідної анотації, псевдоніма або CodingKeys. Коментарі та кінцеві коми у зразку допускаються.
Результат описує лише надані вами зразки: генератор не може знати про поля чи значення, яких у них немає, тому перевірте код за документацією до вашого API, перш ніж на нього покладатися.
Приватність
Зразки розбираються, а код генерується Web Worker у цій вкладці, тому відповіді API з особистими чи внутрішніми даними нікуди не надсилаються. Налаштування мови й іменування зберігаються в локальному сховищі, а вставлений вами JSON не зберігається.
Можливості
Обʼєднує багато зразків
Відсутні ключі стають необовʼязковими, а значення null — nullable в усіх зразках, які ви вставили.
9 мов
TypeScript, Zod, Go, Python, Java, C#, Kotlin, Swift і Rust з ідіоматичними іменами.
Зіставлення ключів
Теги json, псевдоніми, @SerialName, @JsonProperty і CodingKeys зберігають початкові назви з JSON.