RE
Size: a a a
RE
AN
VP
VP
VP
AO
AW
interface Interface {Почему оно не стягивает sealed и не работает без указания вручную всех реализаций силда? И.е. это - не нужно, если я сериализую
}
@kotlinx.serialization.Serializable
sealed class SimpleSealed: Interface {
@kotlinx.serialization.Serializable
public data class SubSealedA(val s: String) : SimpleSealed()
@kotlinx.serialization.Serializable
public data class SubSealedB(val i: Int) : SimpleSealed()
}
val messageModule = SerializersModule {
polymorphic(Interface::class) {
SimpleSealed::class with SimpleSealed.serializer()
SimpleSealed.SubSealedA::class with SimpleSealed.SubSealedA.serializer()
SimpleSealed.SubSealedB::class with SimpleSealed.SubSealedB.serializer()
}
}
val json = Json(JsonConfiguration.Stable.copy(classDiscriminator = "nodeType"), context = messageModule)
val j = json.stringify(PolymorphicSerializer(Interface::class), SimpleSealed.SubSealedA("foo"))
println(j)
println(json.parse(PolymorphicSerializer(Interface::class), j))
SimpleSealed``SimpleSealed.serializer()
'ом, но почему-то вдруг нужно когда сериализую полиморфный интерфейс? SimpleSealed.SubSealedA::class with SimpleSealed.SubSealedA.serializer()Или я опять чего-то не понимаю?)
SimpleSealed.SubSealedB::class with SimpleSealed.SubSealedB.serializer()
A
QH
A
QH
A
H
PS
H
A
A
A
QH