TwoClocks
09/16/2020, 10:19 PMkotlinx.serialization.cbor.internal.CborDecodingException: Expected start of array, but found BF
@Serializable
sealed class BaseClass()
@Serializable
data class TypeOne(val name:String) : BaseClass()
@Serializable
data class TypeTwo(val num:Int) : BaseClass()
@ExperimentalSerializationApi
fun main(args: Array<String>) {
val bb = Cbor.encodeToByteArray(TypeOne("my name is mud"))
val msg = Cbor.decodeFromByteArray<BaseClass>( bb )
println(msg)
}
TwoClocks
09/16/2020, 10:47 PMfun main(args: Array<String>) {
val bb = Json.encodeToString(TypeOne("my name is mud"))
println(bb)
val msg = Json.decodeFromString<BaseClass>( bb )
println(msg)
}
throws kotlinx.serialization.json.internal.JsonDecodingException: Polymorphic serializer was not found for missing class discriminator ('null')
TwoClocks
09/16/2020, 10:48 PMTwoClocks
09/16/2020, 10:51 PMTwoClocks
09/16/2020, 10:51 PMTwoClocks
09/16/2020, 10:52 PMVampire
09/16/2020, 11:21 PMTwoClocks
09/17/2020, 1:13 AMTwoClocks
09/17/2020, 1:13 AMTwoClocks
09/17/2020, 1:13 AMTwoClocks
09/17/2020, 1:24 AMTwoClocks
09/17/2020, 1:24 AMTwoClocks
09/17/2020, 1:25 AMval list = listOf(TextResponse("OK"))
and all the type information is gone.TwoClocks
09/17/2020, 1:25 AMTwoClocks
09/17/2020, 1:25 AMTwoClocks
09/17/2020, 1:26 AMTwoClocks
09/17/2020, 1:40 AMSerializerModule
because BaseClass or Response (from the docs) class is sealed / abstract.TwoClocks
09/17/2020, 1:41 AMTwoClocks
09/17/2020, 2:30 AMVsevolod Tolstopyatov [JB]
09/17/2020, 9:38 AMCbor.encodeToByteArray<BaseClass>(TypeOne("my name is mud"))