Конвертер JSON у Kotlin — генератор data class
Перетворіть JSON на data class Kotlin онлайн для kotlinx.serialization, Jackson або Klaxon, з nullable-типами та вкладеними класами. Безкоштовно, миттєво й приватно.
🔒 Працює повністю у вашому браузері — нічого не завантажуєтьсяData class Kotlin зі зразка JSON
Data class Kotlin природно підходять для навантажень JSON, але виписувати їх для великої відповіді — особливо в Android, де кожен екран ніби викликає ще один ендпоінт — стомлююче. Цей конвертер JSON у Kotlin генерує їх зі зразка. Кожен об'єкт стає data class із властивостями val, ключі перетворюються на camelCase з анотаціями, що зберігають оригінальні назви JSON, вкладені об'єкти стають власними класами, а масиви — List<T>. Поля, відсутні або рівні null у деяких зразках, стають nullable-типами, тож null-безпека Kotlin діє саме на тих властивостях, яким вона потрібна.
Виведення типів забезпечує quicktype, який об'єднує всі елементи кожного масиву. Необов'язкові поля, що трапляються лише в кількох елементах, усе одно враховуються, що запобігає збоям під час виконання, коли десеріалізатор зустрічає ключ, невідомий моделі.
kotlinx.serialization, Jackson або Klaxon
Вивід за замовчуванням орієнтований на kotlinx.serialization — мультиплатформну бібліотеку від JetBrains: класи позначаються @Serializable, а ключі — @SerialName. Серверні проєкти на Spring частіше віддають перевагу Jackson, який генерує анотації @JsonProperty і допоміжний ObjectMapper. Klaxon — легка альтернатива, яку досі використовують деякі проєкти Android. Якщо ви плануєте підключати серіалізацію самостійно, позначте Data classes only. Задайте назву пакета, щоб файл компілювався на місці.
Поради для чистих моделей Kotlin
Дайте конвертеру повний зразок — кілька елементів масиву, заповнені необов'язкові поля, непорожні вкладені об'єкти — щоб nullable-ність і типи було виведено правильно. Перейменуйте кореневий клас на назву з вашої предметної області, перш ніж завантажувати. Після цього подумайте про заміну рядків із відомими значеннями типами enum class, використання Instant або LocalDate, де це підтримує ваш серіалізатор, і додавання значень за замовчуванням для полів, які ваш API пропускає. Генерація повністю відбувається у вашому браузері, тож реальні відповіді, перехоплені під час налагодження, можна вставляти без ризику.
Як користуватися
- Вставте JSONВставте об'єкт або масив JSON чи завантажте зразок.
- Оберіть серіалізаторВиберіть kotlinx.serialization, Jackson або Klaxon і задайте пакет.
- Скопіюйте data classСкопіюйте код Kotlin або завантажте його як файл .kt.
Часті запитання
Які бібліотеки серіалізації підтримуються?
Як типізуються nullable-поля?
String? і значенням за замовчуванням null.