awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
Kotlin avatar

Kotlin/kotlinx.serialization

0
View on GitHub↗
5,929 stars·676 forks·Kotlin·Apache-2.0·24 views

Kotlinx.serialization

kotlinx.serialization is an official Kotlin library that provides a multiplatform serialization framework for converting Kotlin objects to and from multiple data formats. It uses a Kotlin compiler plugin to generate serializer and deserializer code at compile time, avoiding runtime reflection and preserving type safety through annotations like @Serializable. The library supports JVM, JS, and Native targets with platform-specific runtime libraries, enabling consistent serialization across all Kotlin environments.

The library distinguishes itself through its multi-format encoder-decoder abstraction, allowing the same serializable class to work with JSON, CBOR, ProtoBuf, and other formats without code changes. It supports polymorphic serialization for sealed classes and interfaces via a registry of subclass serializers, and allows custom serializer registration for types not covered by automatic generation. Additional capabilities include transient property exclusion to reduce payload size, and built-in JSON serialization for converting objects to and from JSON strings.

The project integrates with Gradle, Maven, and Bazel build systems for configuring the compiler plugin, and provides ProGuard and R8 rules to retain serializers during Android code shrinking.

Features

  • Multiplatform Serialization Libraries - Provides a multiplatform serialization framework that works consistently across JVM, JS, and Native targets.
  • Multi-Format Encoder-Decoder Abstractions - Defines a common encoder and decoder interface that allows the same serializable class to be used with JSON, CBOR, ProtoBuf, and other formats.
  • Cross-Platform Serialization - Provides a serialization solution that works consistently across Kotlin/JS, Kotlin/Native, and Kotlin/JVM targets.
  • Polymorphic Type Serializers - Enables serialization of sealed classes and interfaces through a registry of subclass serializers.
  • JSON Data Exchange - Converts Kotlin data classes to and from JSON strings for APIs, configuration files, or data storage.
  • Multi-Format Serializers - Offers a unified API for encoding and decoding Kotlin objects into JSON, CBOR, ProtoBuf, and other formats.
  • JSON Serialization - Converts Kotlin objects annotated with @Serializable into JSON strings using a built-in encoder.
  • Kotlin Compiler Plugin Serializers - Ships a Kotlin compiler plugin that generates serializer code at compile time for annotated classes.
  • Serializer Registrations - Allows users to define and register custom serializers for types not covered by automatic generation.
  • JSON Serialization - Provides a built-in JSON encoder and decoder for converting Kotlin objects to and from JSON strings.
  • Serialization - Serializes and deserializes Kotlin objects across JVM, JS, and Native targets using a unified API.
  • Serialization Annotations - Uses @Serializable and related annotations to mark classes for automatic serializer generation.
  • Kotlin Object Deserializers - Parse a JSON string back into a typed Kotlin object annotated with @Serializable using a built-in decoder.
  • Compiler Plugin Serializers - Generates serializer and deserializer implementations at compile time via a Kotlin compiler plugin, avoiding runtime reflection.
  • Platform-Specific Runtimes - Provides separate runtime artifacts for JVM, JS, and Native targets, each optimized for the respective platform.
  • Property Exclusion - Marks properties with @Transient to exclude them from serialization, reducing payload size.
  • Language & Core Libraries - Kotlin multiplatform / multi-format serialization

Star history

Star history chart for kotlin/kotlinx.serializationStar history chart for kotlin/kotlinx.serialization

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Curated searches featuring Kotlinx.serialization

Hand-picked collections where Kotlinx.serialization appears.
  • Binary Serialization Formats

Open-source alternatives to Kotlinx.serialization

Similar open-source projects, ranked by how many features they share with Kotlinx.serialization.
  • microsoft/cpprestsdkmicrosoft avatar

    microsoft/cpprestsdk

    8,265View on GitHub↗

    The C++ REST SDK is a library for asynchronous HTTP and RESTful communication in native C++ applications. It provides a non-blocking network client for sending requests and receiving responses, a JSON parser for serializing and deserializing data, and a WebSocket client library for real-time, full-duplex communication. The project includes a dedicated OAuth2 authentication client to manage access tokens and authorization flows for secure communication with protected cloud resources. It utilizes a task-based asynchronous model to coordinate background operations and keep application interfaces

    C++asyncasynchronous-taskscloud
    View on GitHub↗8,265
  • johnezang/jsonkitjohnezang avatar

    johnezang/JSONKit

    6,180View on GitHub↗

    JSONKit is an Objective-C library used for parsing, serializing, and manipulating JSON data. It functions as a JSON parser that converts text into native data structures and a serializer that transforms native objects into formatted JSON text. The library includes a gzip compression wrapper that compresses serialized JSON payloads to reduce network transfer sizes and automatically detects and decompresses gzip buffers before decoding. The toolset provides capabilities for JSON parsing and serialization, supporting customizable indentation, character escaping, and flexible comment handling.

    Objective-C
    View on GitHub↗6,180
  • oils-for-unix/oilsoils-for-unix avatar

    oils-for-unix/oils

    3,288View on GitHub↗

    Oils is a Unix shell interpreter and scripting language runtime that combines a modern shell language with POSIX and Bash compatibility. It functions as a structured data shell, integrating JSON and J8 formats to manage complex data without relying on string parsing. The system is distinguished by a C++ transpiled interpreter that converts a subset of Python source code into strongly typed C++ for high-performance execution. It features a garbage-collected typed runtime that supports prototype-based polymorphism, lexical closures, and reference-based variable mutation. To decouple shell logic

    Python
    View on GitHub↗3,288
  • crowcpp/crowCrowCpp avatar

    CrowCpp/Crow

    4,721View on GitHub↗

    Crow is a C++ web framework for building HTTP servers, providing routing, a middleware pipeline, JSON serialization, and WebSocket support. It enables developers to define typed route handlers that extract URL parameters at compile time, return structured JSON responses, and manage real-time bidirectional communication. The framework distinguishes itself with compile-time route pattern parsing and typed argument binding, which eliminate runtime parsing overhead for URL parameters. Its event loop runs on Boost.Asio, and handler execution can be offloaded to a configurable thread pool to keep I

    C++cppcrowframework
    View on GitHub↗4,721
See all 30 alternatives to Kotlinx.serialization→

Frequently asked questions

What does kotlin/kotlinx.serialization do?

kotlinx.serialization is an official Kotlin library that provides a multiplatform serialization framework for converting Kotlin objects to and from multiple data formats. It uses a Kotlin compiler plugin to generate serializer and deserializer code at compile time, avoiding runtime reflection and preserving type safety through annotations like @Serializable. The library supports JVM, JS, and Native targets with platform-specific runtime libraries, enabling consistent…

What are the main features of kotlin/kotlinx.serialization?

The main features of kotlin/kotlinx.serialization are: Multiplatform Serialization Libraries, Multi-Format Encoder-Decoder Abstractions, Cross-Platform Serialization, Polymorphic Type Serializers, JSON Data Exchange, Multi-Format Serializers, JSON Serialization, Kotlin Compiler Plugin Serializers.

What are some open-source alternatives to kotlin/kotlinx.serialization?

Open-source alternatives to kotlin/kotlinx.serialization include: microsoft/cpprestsdk — The C++ REST SDK is a library for asynchronous HTTP and RESTful communication in native C++ applications. It provides… johnezang/jsonkit — JSONKit is an Objective-C library used for parsing, serializing, and manipulating JSON data. It functions as a JSON… oils-for-unix/oils — Oils is a Unix shell interpreter and scripting language runtime that combines a modern shell language with POSIX and… crowcpp/crow — Crow is a C++ web framework for building HTTP servers, providing routing, a middleware pipeline, JSON serialization,… square/moshi — Moshi is a JSON serialization library and parser for Kotlin and Java. It functions as a reflectionless JSON encoder… jetbrains/kotlin-native — Kotlin-native is an ahead-of-time, cross-platform compiler and toolchain that transforms Kotlin source code into…