Ok, I've figured it out: ``` // Library code fun &...
# serialization
u
Ok, I've figured it out:
Copy code
// Library code
fun <T> parse(json: String, serializer: KSerializer<T>): T {
    val list: JsonArray = Json.parse(JsonArraySerializer, json)
    val libraryRelevantData = list[0]
    // do something with libraryRelevantData
    // and return the deserialized payload
    return Json.plain.fromJson(serializer, list[1])
}

// User code
@Serializable
data class Payload(val color: String, val sizes: List<Int>)

fun main() {
    val json = """[36, {"color": "orange", "sizes": [23, 42, 7]}]"""
    println("Payload = ${parse(json, Payload.serializer())}")
}