Как пользоваться: 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, record-классы Java с аннотациями Jackson, классы C# для System.Text.Json, data-классы Kotlin для kotlinx.serialization, структуры Swift Codable и структуры Rust для serde.
Один пример редко показывает все поля, поэтому генератор объединяет столько примеров, сколько вы ему дадите. Вставьте несколько документов подряд, JSON Lines или массив объектов: ключ, которого нет в части объектов, станет необязательным; ключ, который иногда равен null, получит допустимое значение null; целое число, которое иногда встречается как дробное, станет типом с плавающей точкой; а по-настоящему разнородные значения превратятся в объединение типов или в динамический JSON-тип языка. Вложенные объекты получают собственные именованные типы: orders превращается в Order, addresses — в Address, а одинаковые структуры создаются один раз и используются повторно. Объекты, ключи которых — числа, UUID или даты, превращаются в словари.
Имена полей приводятся к принятому в каждом языке стилю, а отличающиеся JSON-ключи, например first-name или class, сопоставляются с исходными с помощью нужной аннотации, алиаса или CodingKeys. Комментарии и лишние запятые в конце в примере допускаются.
Результат описывает только те примеры, которые вы дали: генератор не может знать о полях и значениях, которых в них нет, поэтому сверьте код с документацией вашего API, прежде чем на него полагаться.
Конфиденциальность
Примеры разбираются, а код создаётся веб-воркером прямо в этой вкладке, поэтому ответы API с личными или внутренними данными никуда не загружаются. Язык и параметры имён сохраняются в локальном хранилище, а вставленный вами JSON не сохраняется.
Возможности
Объединяет много примеров
Отсутствующие ключи становятся необязательными, а значения null — допускающими null во всех вставленных примерах.
9 языков
TypeScript, Zod, Go, Python, Java, C#, Kotlin, Swift и Rust с именами в стиле каждого языка.
Сопоставление ключей
json-теги, алиасы, @SerialName, @JsonProperty и CodingKeys сохраняют исходные имена из JSON.