Ryan Batchelder
09/16/2020, 5:34 PMDynamicObjectParser
into Json
, but when trying to use .decodeFromDynamic()
I'm getting
IllegalStateException: This serializer can be used only with Json format.Expected Decoder to be JsonDecoder, got class DynamicInput
The serializer in this case is a small data class annotated with @Serializable
, and I've also tried using JsonObject.serializer()
with the same results. How can I handle serializing a dynamic from a JS library into a Kotlin object in this case?Vsevolod Tolstopyatov [JB]
09/16/2020, 6:23 PMVsevolod Tolstopyatov [JB]
09/16/2020, 6:24 PMAre we talking about JsonObject serialization to dynamic here?with the same results.JsonObject.serializer()
Ryan Batchelder
09/16/2020, 6:47 PMVsevolod Tolstopyatov [JB]
09/16/2020, 6:51 PMRyan Batchelder
09/16/2020, 6:54 PM@Serializable
data class DecodedJwt(val header: JsonObject, val payload: JsonObject, val signature: String)
val payload = jsonwebtoken_decode(token, jsObject {complete = true; json = true} as DecodeOptions)
val parsedPayload = Json{}.decodeFromDynamic<DecodedJwt>(payload)
where jsonwebtoken_decode
is an external declaration that returns dynamicRyan Batchelder
09/16/2020, 6:55 PMRyan Batchelder
09/16/2020, 6:55 PMVsevolod Tolstopyatov [JB]
09/16/2020, 6:57 PMdecodeFromDynamic
actually invokes DynamicPbjectParser.parse
under the hoodRyan Batchelder
09/17/2020, 11:03 AM