Ayfri
04/18/2022, 8:27 PMclient
& environment
, and if only client
is set, it's saved as a String, else as an object containing both ?Adam S
04/18/2022, 8:30 PMJsonContentPolymorphicSerializer
https://github.com/Kotlin/kotlinx.serialization/blob/master/docs/json.md#content-based-polymorphic-deserializationephemient
04/18/2022, 8:38 PMephemient
04/18/2022, 8:43 PM@Serializable
data class Data(val client: String, val environment: String)
object DataJsonSerializer : JsonTransformingSerializer<Data>(Data.serializer()) {
override fun transformDeserialize(element: JsonElement): JsonElement =
element as? JsonObject ?: buildJsonObject {
put("client", element)
}
}
or something along those linesAyfri
04/18/2022, 8:45 PMAyfri
04/18/2022, 8:50 PM