kotlinx.serialization — это библиотека сериализации, разработанная JetBrains, ориентированная на Kotlin и поддерживающая множество платформ. Она специально спроектирована для Kotlin и глубоко интегрирована с языком и его экосистемой.
В отличие от Gson и Jackson, которые полагаются на рефлексию во время выполнения для анализа классов, kotlinx.serialization использует плагин компилятора для генерации сериализаторов во время компиляции. Это означает, что логика сериализации разрешается до запуска приложения.
Ключевые преимущества этого подхода:
Библиотека поддерживает несколько форматов сериализации из коробки:
JSON — самый часто используемый форматProtobuf — компактный бинарный форматCBOR — ещё один бинарный форматkotlinx.serialization обеспечивает первоклассную поддержку особенностей языка Kotlin, включая:
@SerializableGson / Jackson → рефлексия во время выполнения → медленнее, менее type-safe
kotlinx → генерация кода на этапе компиляции → быстрее, native Kotlin
Gson и Jackson изначально разработаны для Java и рассматривают Kotlin как второстепенную цель, что может приводить к граничным случаям с null safety или значениями по умолчанию. kotlinx.serialization трактует их как базовые требования.
kotlinx.serialization использует плагин компилятора для генерации сериализаторов на этапе компиляции, что исключает overhead от reflection во время выполнения, в отличие от Gson и Jackson.
Новый — ещё не проверен сообществом
Вы