So to summarize:
* when using the Jackson Kotlin module, don't use annotations unless you have an special case, just use simple classes or data classes.
* make something nullable if it might be absent in the JSON (which is different than "empty")
* don't nest your data classes like you did, there was no reason for that in your use case as far as I can tell