Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import kotlinx.serialization.*
- import kotlinx.serialization.json.*
- import kotlinx.serialization.modules.SerializersModule
- import kotlinx.serialization.modules.polymorphic
- interface Test {
- val prop1 : String
- val prop2 : String
- }
- @Serializable
- data class TestImpl(
- override val prop1 : String,
- override val prop2 : String
- ) : Test
- fun main() {
- val encoder = Json {
- serializersModule = SerializersModule {
- polymorphic(Test::class) {
- subclass(TestImpl::class, TestImpl.serializer())
- default { TestImpl.serializer() }
- }
- }
- }
- val data : Test = TestImpl("blah", "blah")
- println(encoder.encodeToString(data))
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement