Ayfri
03/11/2023, 10:43 PM"type": "kotlin.collections.ArrayList even with a custom serializer :
object PredicateConditionsSerializer : KSerializer<List<Predicate>> by ListSerializer(Predicate.Companion.Predicate) {
override fun serialize(encoder: Encoder, value: List<Predicate>) {
require(encoder is JsonEncoder) { "Predicate can only be serialized with Json" }
val element = buildJsonArray {
value.forEach { condition ->
add(Json.encodeToJsonElement(Predicate.Companion.Predicate, condition))
}
}
encoder.encodeJsonElement(element)
}
}
Even when element is replaced with a simple array of one string : buildJsonArray { add("test") } I get this :
[
"type": "kotlin.collections.ArrayList",
"test"
]Ben Woodworth
03/13/2023, 4:34 AM