Help with polymorphic deserialization

Trying to write a websocket app where the type of data is determined by event,

I found help with polymorphic serialization but couldnot find deserialization

interface WSEvent { val event: String } interface WSData<T> { val data: T } @Serializable data class WSMessage<T>(override val event: String, override val data: T) : WSEvent, WSData<T> fun getWSEvent(data: String): String { return Json.decodeFromString<WSEvent>(data).event } fun <T> getWSData(data: String): T { wsJson.decodeFromString<WSData<T>>(PolymorphicSerializer(WSData::class), data).data return Json.decodeFromString<WSData<T>>(data).data } 

i get the following error:

kotlinx.serialization.json.internal.JsonDecodingException: Polymorphic serializer was not found for missing class discriminator (‘null’)

JSON input: {“event”:”validate”,”data”:””}

submitted by /u/ayushshrestha8920
[link] [comments]