dave08
07/17/2018, 1:33 PMclass KlaxonSerializer(block: Klaxon.() -> Unit = {}) : JsonSerializer {
private val backend: Klaxon = Klaxon().apply(block)
override fun write(data: Any): OutgoingContent = TextContent(backend.toJsonString(data), ContentType.Application.Json)
override suspend fun read(info: TypeInfo, response: HttpResponse): Any {
val text= response.readText()
return backend.parse(text) as info.type
}
}
but obviously info.type won't work there and the parse function takes a reified type...Deactivated User
07/17/2018, 1:34 PMDeactivated User
07/17/2018, 1:34 PMdave08
07/17/2018, 1:35 PMdave08
07/17/2018, 1:36 PMDeactivated User
07/17/2018, 1:36 PMDeactivated User
07/17/2018, 1:36 PMDeactivated User
07/17/2018, 1:36 PMDeactivated User
07/17/2018, 1:37 PMdave08
07/17/2018, 1:37 PMdave08
07/17/2018, 1:37 PMdave08
07/17/2018, 1:37 PMDeactivated User
07/17/2018, 1:37 PMDeactivated User
07/17/2018, 1:37 PMDeactivated User
07/17/2018, 1:38 PMdave08
07/17/2018, 1:39 PMDeactivated User
07/17/2018, 1:39 PMDeactivated User
07/17/2018, 1:39 PMKlaxon.parser(clazz).parse(StringReader(json))
dave08
07/17/2018, 1:41 PMbackend.parser(info.type).parse(StringReader(text))!!
, right?Deactivated User
07/17/2018, 2:00 PMDeactivated User
07/17/2018, 2:00 PMdave08
07/17/2018, 3:02 PM