Omnikit
РазработкаФайлыФинансыВсе инструменты
Ctrl K
Инструменты для разработкиИнструменты для файловФинансовые калькуляторыВсе инструменты
ГлавнаяИнструменты для разработчиковКонвертер JSON в data class Kotlin
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

Конвертер JSON в data class Kotlin

разработка

Превратите пример JSON в data class Kotlin для kotlinx.serialization, Gson или Moshi

Работает в вашем браузере. Ничего из того, что вы вводите, никуда не отправляется. Проверено 16 октября 2026 г..

Вставьте пример JSON и получите data class Kotlin для kotlinx.serialization, Gson или Moshi. Целые числа становятся Int, а свыше 2 147 483 647 — Long, любая дробь делает свойство Double, значение null делает его nullable, а ключ, которого нет в некоторых объектах, становится T? = null, чтобы все 3 библиотеки его декодировали.

Эта страница переведена машинным способом с английского оригинала. Перевод ещё не проверен человеком, поэтому ориентируйтесь на английскую версию. Читать английский оригинал

Дальше:
  • Конвертер JSON в классы Java Превратите пример JSON в POJO, записи или классы Lombok на Java с аннотациями для Jackson
  • Форматирование и проверка JSON Форматирование, проверка, минификация и сортировка JSON с точным местом ошибки

Как преобразовать JSON в data class Kotlin

1

Вставьте пример JSON, например ответ API, в левое поле.

2

Data class Kotlin появляются по мере ввода, по одному на объект, со свойствами в camelCase и аннотацией везде, где ключ отличается.

3

Выберите kotlinx.serialization, Gson или Moshi, var вместо val при необходимости и имя корневого класса.

4

Нажмите «Копировать» или «Скачать», чтобы сохранить Models.kt.

О конвертере JSON в data class Kotlin

Kotlin читает JSON в data class, и каждому объекту нужен класс, свойства которого имеют правильные типы, правильную допустимость null и путь обратно к своим ключам. Этот конвертер пишет такие классы по примеру, так что длинный ответ API превращается в Kotlin за одну вставку.

Как выбираются типы.

Значение JSON Тип Kotlin
"text" String
true / false Boolean
42 (только целые числа) Int или Long за пределами 32 бит
4.5 (встретилась любая дробь) Double
null и ещё какой-то тип String?, Int?
только null или смешанные виды JsonElement? или Any?
[ ... ] List<...>
{ } пустой JsonObject или Map<String, Any?>
{ ... } отдельный data class

Отсутствующие ключи. Все объекты массива сливаются в один класс. Ключ, который некоторые объекты пропускают, становится nullable со значением по умолчанию null, потому что kotlinx.serialization и Moshi считают ошибкой отсутствующий ключ без значения по умолчанию. kotlinx.serialization также отвергает ключи, для которых нет свойства, поэтому каждый ключ примера получает своё.

Имена. Свойства пишутся в lowerCamelCase. Если это меняет ключ, как user_name на userName, свойство получает @SerialName, @SerializedName или @Json(name = ...), в зависимости от библиотеки. Ключевые слова вроде class пишутся в обратных кавычках. В строках аннотаций знак доллара экранируется, иначе Kotlin прочитал бы его как шаблон.

Параметры. var вместо val даёт изменяемые свойства. Пустой объект становится обычным классом, потому что data class нужно хотя бы одно свойство. Корневой класс называется Root, если вы не дадите ему имя.

Каждый результат проверен обратным чтением Kotlin и декодированием 9 примеров по правилам kotlinx.serialization по умолчанию. Ничто из вставленного не покидает браузер.

Частые вопросы

Как преобразовать JSON в data class Kotlin?

Вставьте пример JSON в конвертер, и рядом появятся data class, по одному на объект. С kotlinx.serialization добавьте плагин и декодируйте через Json.decodeFromString<Root>(text); с Gson используйте Gson().fromJson(text, Root::class.java); с Moshi создайте адаптер для Root.

Почему некоторые свойства заканчиваются на = null?

Ключ, который некоторые объекты массива пропускают, получает nullable-тип и null по умолчанию. И kotlinx.serialization, и Moshi отвергают отсутствующий ключ, если у свойства нет значения по умолчанию, поэтому именно оно позволяет декодировать каждый объект примера.

Какую библиотеку выбрать?

kotlinx.serialization — собственная библиотека Kotlin, работает на всех платформах Kotlin и проверяет типы при компиляции. Moshi с codegen подходит Android-проектам, которые уже используют Retrofit и Okio. Gson — самая старая и не требует настройки, но при создании объектов игнорирует null-безопасность Kotlin и значения по умолчанию.

Как обрабатываются ключи вроде user_name или class?

Свойства пишутся в lowerCamelCase, так что user_name становится userName, а @SerialName, @SerializedName или @Json(name = ...) сохраняет исходный ключ. Ключ, который является ключевым словом Kotlin, например class или object, пишется в обратных кавычках, что сохраняет ключ настоящим именем свойства.

Какие типы получают числа в Kotlin?

Целые числа становятся Int, или Long, если значение больше 2 147 483 647, а поле становится Double, как только любое значение в примере имеет дробную часть. Значения разных видов становятся JsonElement? с kotlinx.serialization или Any? с Gson и Moshi.

Загружается ли мой JSON куда-нибудь?

Нет. Преобразование выполняется в вашем браузере без запросов к серверу, и JSON не сохраняется, так что ответы API с токенами или личными данными остаются на вашем устройстве. Закройте вкладку, и ничего не останется.

Источники

  • Kotlin documentation, keywords and operatorsHard keywords that need backticks as names
  • Kotlin documentation, coding conventions: naming rulesUpperCamelCase classes, lowerCamelCase properties
  • kotlinx.serialization guide, basic serialization@SerialName, optional properties need defaults, unknown keys are errors
  • Moshi README, Kotlin codegen@JsonClass(generateAdapter = true) and @Json(name = ...)

Последняя проверка: 16 октября 2026 г..

Ставки и правила меняются; проверьте источник, прежде чем полагаться на цифру.

Всё ещё не получается? Задайте вопрос об инструменте «Конвертер JSON в data class Kotlin» и ответить может любой, кто знает. Учётная запись не нужна.

Похожие инструменты

Все инструменты для разработчиков
Кодирование и декодирование Base64Текст и файлы в Base64 и обратно, с режимом для URL и предпросмотром изображенийКонвертер Unix-времениМетки времени Unix в даты и даты в метки времени, в любом часовом поясеJSON в TypeScriptСоздайте интерфейсы или типы TypeScript по образцу JSONКонвертер CSV в JSONПреобразуйте CSV в JSON и JSON в CSV с предпросмотром таблицыКонвертер YAML в JSONПреобразуйте YAML в JSON и JSON в YAML с разрешёнными якорямиКодирование и декодирование URLПроцентное кодирование и декодирование текста и URL, с разбором каждой части ссылкиКонвертер систем счисленияДвоичная, восьмеричная, десятичная, шестнадцатеричная и любая система до 36, точно при любом размере, с дополнительным кодомColor ConverterHEX, RGB, HSL, HWB, OKLCH and CMYK in both directions, with a contrast check
Был ли этот инструмент полезен?
Omnikit

Небольшие задачи прямо в вашем браузере. Бесплатно, быстро и конфиденциально. Файлы никогда не загружаются на сервер.

Файлы

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

Разработка

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

Финансы

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
РуководстваВопросыО сайтеКак мы проверяемБиблиотека законов (бета)КонфиденциальностьУсловияРаскрытие информацииКонтактыMore: Exam practice (UGC NET Paper 1)Работает в вашем браузере. Ничего не загружается на сервер. © 2026 Omnikit (theomnikit.com)