kotlinx serialization polimorfizm

0
@Serializable
@Polymorphic
abstract class A 

@Serializable
data class B(val number: Int): A

@Serializable
data class C(val text: String): A
    val json = Json(JsonConfiguration.Stable, context = SerializersModule {
        polymorphic(A::class) {
            B::class with B.serializer()
            C:class with C.serializer()
        }
    })

Da się jakoś zrobić, żebym nie musiał podawać serializatora do każdej klasy?

2

Nie mam czasu sprawdzić, ale prawdopodobnie twój problem rozwiąże zrobienie klasy A jako sealed. https://kotlinlang.org/docs/reference/sealed-classes.html

0

sealed class byłoby idealnym rozwiązaniem, ale musiałbym wszystkie B, C itd. trzymać w jednym pliku.

0 użytkowników online, w tym zalogowanych: 0, gości: 0