Генератор JSON в Kotlin

Ввод JSON

Загрузка редактора…

Сгенерированный Kotlin

Configuration

Введите JSON, чтобы сгенерировать Kotlin data class

Data class, kotlinx.serialization и null safety

Как конвертировать JSON в Kotlin – пошаговое руководство

Используйте этот генератор JSON to Kotlin, чтобы создавать классы данных Kotlin из образцов JSON для серверных проектов Android и JVM.

  1. Шаг 1. Вставьте образец JSON.

    • Вставьте типичный объект или массив JSON в левый редактор.
    • Включите вложенные объекты, массивы и поля, допускающие значение NULL, чтобы типы выводились правильно.
    • Используйте Import для загрузки JSON из файла, URL-адреса или образца данных.
  2. Шаг 2. Выберите параметры класса данных Kotlin.

    • Установите корень Class Name для сгенерированного data class.
    • Решите, как должны быть представлены поля, допускающие значение NULL (String?, Double?).
    • Если вы используете библиотеки сериализации, согласуйте их со своим стеком (Moshi/Kotlinx/Jackson).
  3. Шаг 3. Просмотрите сгенерированный код.

    • Проверьте имена полей, типы и способ моделирования массивов/объектов.
    • Настройте такие параметры, как Root Type Name, обработку значений NULL и платформы, если они доступны.
    • Если поле выведено неправильно, измените образец JSON и выполните его повторное создание.
  4. Шаг 4. Используйте классы данных в Kotlin

    • Вставьте классы данных в пакет проекта.
    • Десериализуйте JSON в корневой тип с помощью выбранной вами библиотеки.
    • Сохраняйте версии моделей, если ваш API часто меняется.
  5. Шаг 5 – Скопируйте или загрузите

    • Скопируйте выходные данные в свой проект или загрузите их в виде файла.
    • Запустите форматтер/линтер в соответствии со стилем вашего кода.
    • Добавьте библиотеки синтаксического анализа/сериализации JSON, если они требуются для вашего языка.

Советы

  • Предпочитайте неизменяемые свойства val для более безопасных моделей.
  • Используйте явные аннотации @Json/@SerialName, если имена полей различаются.
  • Создавайте схему JSON, если вам нужны общие контракты между командами.
Пример вывода (упрощенный)
// Ввод JSON
{
  "id": 123,
  "name": "Maeve Winters",
  "email": "[email protected]",
  "active": true,
  "roles": ["admin", "editor"],
  "metadata": { "plan": "pro" },
  "createdAt": "2024-03-01T10:15:00Z",
  "score": 99.5,
  "notes": null
}

// Generated Kotlin data classes (simplified)
data class Metadata(
  val plan: String
)

data class Root(
  val id: Int,
  val name: String,
  val email: String?,
  val active: Boolean,
  val roles: List<String>,
  val metadata: Metadata,
  val createdAt: String,
  val score: Double,
  val notes: Any?
)

Сопутствующие инструменты JSON и Kotlin

Узнайте больше об инструментах JSON и схемы, которые отлично работают вместе с генератором JSON в Kotlin.

Часто задаваемые вопросы

Какие возможности Kotlin поддерживаются?

Генератор создаёт Kotlin data class, поддерживает kotlinx.serialization, а также аннотации Gson и Jackson для JSON‑сериализации, и использует современные возможности Kotlin вроде null safety.

Можно ли генерировать классы для kotlinx.serialization?

Да! Выберите «kotlinx», чтобы получить классы с @Serializable и @SerialName для типобезопасной JSON‑сериализации.

Как работают интеграции Gson и Jackson?

При выборе Gson или Jackson генератор добавляет соответствующие аннотации (@SerializedName или @JsonProperty) к полям для корректной сериализации/десериализации.

Как обрабатывается структура пакета?

Вы можете указать свой package name. Генератор добавит соответствующую package‑декларацию в начало Kotlin‑файла.

Генератор JSON в Kotlin | JSONSwiss