I just discovered the kotlinx.serialization library and it seems to work very well and I can use it as a substitute for jackson, I wanted to do a little performance test and if I use it as the documentation says
val foo = Json.decodeFromString<Project>(string)
I see that the performance drops much more than others like jackson and GSON.
instead, if I instantiate the serializer and then reuse it, the performance works much better,
val serializer = serializer(typeOf<Project>()) as KSerializer<Project>
val foo = Json.decodeFromString(serializer, string)