JSON в Kotlin Data Class

Преобразует данные JSON в data-классы Kotlin с аннотациями @SerializedName, поддержкой null и выводом вложенных типов

Ключевые факты

Категория
Разработка и Web
Типы входных данных
textarea, text, checkbox
Тип результата
text
Покрытие примерами
4
API доступен
Yes

Обзор

Этот онлайн-инструмент мгновенно преобразует структуры JSON в готовые к использованию data-классы Kotlin. Он автоматически генерирует аннотации @SerializedName для корректной десериализации, поддерживает вложенные объекты и позволяет гибко настраивать поддержку nullable-типов для безопасной работы с API.

Когда использовать

  • При интеграции внешних REST API в Android-приложения на Kotlin для быстрого создания моделей данных.
  • При необходимости автоматического добавления аннотаций @SerializedName для библиотек сериализации вроде Gson.
  • При работе с динамическими или неполными JSON-ответами, где требуется сделать все поля nullable для предотвращения сбоев.

Как это работает

  • Вставьте исходный JSON-код в текстовое поле ввода.
  • Укажите имя корневого класса и выберите, должны ли свойства поддерживать null (nullable).
  • Нажмите кнопку генерации, чтобы мгновенно получить структурированный код Kotlin data-классов с вложенными типами.

Сценарии использования

Разработка Android-приложений для быстрого создания DTO (Data Transfer Objects) из ответов бэкенда.
Миграция существующих Java-моделей данных на Kotlin с сохранением структуры JSON.
Проектирование архитектуры клиент-серверного взаимодействия на основе мок-данных JSON.

Примеры

1. Создание модели профиля пользователя

Android-разработчик
Контекст
Разработчик интегрирует API авторизации, возвращающее профиль пользователя с вложенным адресом.
Проблема
Нужно быстро создать Kotlin-модели с поддержкой аннотаций сериализации, избегая ручного написания классов.
Как использовать
Вставьте JSON профиля в поле ввода, укажите имя корневого класса 'UserProfile' и запустите конвертацию.
Пример конфигурации
jsonInput: {"id": 1, "username": "alex", "address": {"city": "Moscow", "zip": "101000"}}, rootName: "UserProfile", optionalFields: false
Результат
Сгенерированы два data-класса: UserProfile и Address с аннотациями @SerializedName для каждого поля.

2. Обработка нестабильного API с nullable-полями

QA-инженер
Контекст
API каталога товаров часто возвращает пустые (null) значения для некоторых характеристик.
Проблема
Требуется сгенерировать безопасную модель данных, где все свойства могут принимать значение null во избежание ошибок парсинга.
Как использовать
Вставьте пример JSON-ответа, установите флаг «Свойства, допускающие null» и укажите имя класса 'Product'.
Пример конфигурации
jsonInput: {"title": "Phone", "price": 999.99, "discount": null}, rootName: "Product", optionalFields: true
Результат
Сгенерирован класс Product, где все типы данных объявлены как nullable (например, String?, Double?).

Проверить на примерах

json

Связанные хабы

FAQ

Поддерживает ли конвертер вложенные JSON-объекты?

Да, инструмент автоматически извлекает вложенные объекты и создает для них отдельные связанные data-классы.

Зачем нужны аннотации @SerializedName в сгенерированном коде?

Они связывают ключи JSON с именами свойств в Kotlin, сохраняя правильное сопоставление при сериализации и десериализации.

Как сделать все поля в Kotlin-классах nullable?

Включите опцию «Свойства, допускающие null» перед генерацией кода.

Можно ли изменить имя главного класса?

Да, для этого укажите желаемое имя в поле «Имя корневого типа» (по умолчанию используется Root).

Работает ли конвертер с массивами в JSON?

Да, массивы преобразуются в списки Kotlin (List) с соответствующим типом элементов.

Документация API

Конечная точка запроса

POST /ru/api/tools/json-to-kotlin

Параметры запроса

Имя параметра Тип Обязательно Описание
jsonInput textarea Да -
rootName text Нет -
optionalFields checkbox Нет -

Формат ответа

{
  "result": "Processed text content",
  "error": "Error message (optional)",
  "message": "Notification message (optional)",
  "metadata": {
    "key": "value"
  }
}
Текст: Текст

Документация MCP

Добавьте этот инструмент к конфигурации сервера MCP:

{
  "mcpServers": {
    "elysiatools-json-to-kotlin": {
      "name": "json-to-kotlin",
      "description": "Преобразует данные JSON в data-классы Kotlin с аннотациями @SerializedName, поддержкой null и выводом вложенных типов",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=json-to-kotlin",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Вы можете объединять несколько инструментов, например: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, максимум 20 инструментов.

Если вы столкнулись с проблемами, пожалуйста, свяжитесь с нами по адресу [email protected]