Stop vibe-debugging. Every exception, every backtrace, grouped so you see patterns, not noise. Learn more →
Kotlinx.serialization Alternatives
Similar projects and alternatives to kotlinx.serialization
-
-
AppSignal
AppSignal knows why the f*#k it crashed. Stop vibe-debugging. Every exception, every backtrace, grouped so you see patterns, not noise.
-
-
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
koin
Koin - a pragmatic lightweight dependency injection framework for Kotlin & Kotlin Multiplatform
-
-
jackson-module-kotlin
Module that adds support for serialization/deserialization of Kotlin (http://kotlinlang.org) classes and data classes.
-
-
-
-
-
timber
A logger with a small, extensible API which provides utility on top of Android's normal Log class.
-
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
kotlinx.serialization discussion
kotlinx.serialization reviews and mentions
-
From Closures to an AST in a Kotlin Transform Graph
Mirror the same shape for BoolExpr (Gt, Lt, And, Or, Not, InRange, etc.) and VectorExpr for the cases where the output is a vector of arbitrary length, not a scalar. Each node is @Serializable with a @SerialName discriminator, so kotlinx.serialization round-trips the whole tree polymorphically. The leaves X, Y, and V(i) are placeholders that get bound to the current input when eval runs.
-
MVI as a Unifying Architecture Pattern Across KMP, SwiftUI, and Compose: Implementing a Shared State Machine
The docs do not mention this, but this also solves deep-link handling — deserialize the target state and initialize your store with it. ## Gotchas **Do not share ViewModels.** ViewModels carry lifecycle semantics from `androidx.lifecycle` or `ObservableObject`. Share the state machine layer underneath instead. **Encode side effects as data.** Returning `List` from the reducer instead of launching coroutines inline keeps it testable. The moment you call `launch` inside a reducer, you have lost the purity guarantee. **Handle exhaustive `when` branches.** Kotlin enforces this for sealed interfaces, but forgetting a new intent variant after adding one is the most common source of bugs during feature growth. Enable the `when` exhaustiveness compiler warning. **SKIE vs KMP-NativeCoroutines.** Pick one approach for bridging `StateFlow` to Swift and stick with it. Mixing both in the same project leads to confusing cancellation behavior. ## Conclusion The pattern is: share the state machine, not the ViewModel. Keep your reducer and state types in `commonMain` as pure Kotlin. Let each platform own its thin view-binding layer. That boundary minimizes coupling while maximizing code reuse — in our case, 60-70% of feature code lives in shared modules. I have tried half a dozen shared-UI architectures at this point. MVI is the one still standing after a year in production. Start with one feature, prove it works for your team, and expand from there. **Resources:** - [Kotlin Multiplatform docs](https://kotlinlang.org/docs/multiplatform.html) - [SKIE for Swift interop](https://skie.touchlab.co/) - [kotlinx.serialization](https://github.com/Kotlin/kotlinx.serialization)
- 2025년에 안드로이드 앱을 만들기
-
JSON5 – JSON for Humans
Good API design dictates that you should be flexible as to what you accept and strict about what you serve. Being flexible doesn't really break anything.
Elasticsearch and Opensearch both actually have partial support for JSON5 (comments), which is a nice feature if you want to document e.g. a complex query or mapping choice. It won't return any comments in the response. So it won't break other parsers. Implementing JSON 5 support like this is a valid thing to do for any server. More broad support for this in parsers would be nice.
I'd probably enable this on my own servers if this was possible. I'd need that to be supported in kotlinx.serialization. See discussion on this here: https://github.com/Kotlin/kotlinx.serialization/issues/797
-
How would I serialize a JSON primitive to a class?
Have you tried this:? https://github.com/Kotlin/kotlinx.serialization/blob/master/docs/serializers.md
-
kotlinx-serialization won't serialize a List?
Regardless, I followed the documentation to register List for polymorphic serialization and my static code analysis does not seem to be happy with it.
-
Is rust serde unique?
I think kotlinx.serialization might come close, but looks like custom Encoders and Decoders are still experimental.
-
[Android/Multiplatform] Kotlin Flows + Ktor = Flawless HTTP requests (- ArrowKt)
This example will not work on a multiplatform project. you are using gson, gson runs only on jvm, you should use https://github.com/Kotlin/kotlinx.serialization for the json parsing
-
Why should I use kotlinx.serialization?
This is the issue to +1 https://github.com/Kotlin/kotlinx.serialization/issues/1931
- Generate Kotlin client for a complex web API
-
A note from our sponsor - AppSignal
www.appsignal.com | 11 Oct 2026
Stats
Kotlin/kotlinx.serialization is an open source project licensed under Apache License 2.0 which is an OSI approved license.
The primary programming language of kotlinx.serialization is Kotlin.
Popular Comparisons
- kotlinx.serialization VS jackson-module-kotlin
- kotlinx.serialization VS klaxon
- kotlinx.serialization VS kotlin-json
- kotlinx.serialization VS Kotson
- kotlinx.serialization VS Moshi
- kotlinx.serialization VS Gson
- kotlinx.serialization VS KTON
- kotlinx.serialization VS kotlinx.html
- kotlinx.serialization VS kotlin-jsonq
- kotlinx.serialization VS spring-native