Вышел KotlinX Serialization 1.8.0
👉 Аннотация @JsonIgnoreUnknownKeys - позволит игнорировать неизвестные ключи для отдельных классов, а раньше только можно было для всех классов
👉 Стабилизация SerialDescriptor API и @SealedSerializationApi
👉 Для Java 8 и выше теперь генерируются реализации методов по умолчанию в интерфейсах. Для совместимости работы с предыдущей версии сгенерированного кода добавьте опцию
🛠 Исправления и небольшие улучшения
#kotlin #kotlinx
👉 Аннотация @JsonIgnoreUnknownKeys - позволит игнорировать неизвестные ключи для отдельных классов, а раньше только можно было для всех классов
👉 Стабилизация SerialDescriptor API и @SealedSerializationApi
👉 Для Java 8 и выше теперь генерируются реализации методов по умолчанию в интерфейсах. Для совместимости работы с предыдущей версии сгенерированного кода добавьте опцию
all-compatibility🛠 Исправления и небольшие улучшения
#kotlin #kotlinx
👍22🔥10
Советы по использованию kotlinx.serialization
👉 Создание собственных сериализаторов для данных
👉 Разные способы десериализации Enum Class
👉 Inline сериализация - десериализация объекта в JSON в простой объект вместо Kotlin класса
👉 Полиморфная сериализация - получения разных классов, на основе данных в JSON объекте. Полезно для sealed классов/интерфейсов
👉 Оптимизация JSON
👉 Работа со сложными типами данных
👉 Советы по использованию для высокой скорости работы
#kotlin #kotlinx #serialization #json
👉 Создание собственных сериализаторов для данных
👉 Разные способы десериализации Enum Class
👉 Inline сериализация - десериализация объекта в JSON в простой объект вместо Kotlin класса
👉 Полиморфная сериализация - получения разных классов, на основе данных в JSON объекте. Полезно для sealed классов/интерфейсов
👉 Оптимизация JSON
👉 Работа со сложными типами данных
👉 Советы по использованию для высокой скорости работы
#kotlin #kotlinx #serialization #json
❤21👍8
#kotlin #kotlinx
Please open Telegram to view this post
VIEW IN TELEGRAM
❤24🎉10👍4🔥3
При миграции Android-проекта в Kotlin Multiplatform я столкнулся с тем, что Java-временные API пронизывают весь код и все слои — от модели данных до форматирования в UI. В итоге пришлось делать массу правок вручную.
Рекомендую заранее перейти на kotlinx-datetime, чтобы:
✅ избежать боли при миграции;
✅ использовать единый кроссплатформенный API;
✅ получить чистый, предсказуемый код без зависимости от Java-библиотек.
Если вы только начинаете внедрять KMP — начните именно с этого шага. Он окупится многократно. Подробно про опыт миграции можно найти в статье (альтернативная ссылка)
Из интересного - добавление Detekt правила для ограничения на использование импортов Java Time:
ForbiddenImport:
active: true
imports:
- reason: 'Use Kotlin Time in new code'
value: 'java.util.concurrent.TimeUnit'
- reason: 'Use Kotlin Time in new code'
value: 'java.time.*'
#kotlin #kotlinx #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤2