```data class Thing(val controllers: List<Strin...
# klaxon
a
Copy code
data class Thing(val controllers: List<String>) {
                constructor(controllers: Map<String, Boolean>): this(controllers.keys.toList())
            }
            val json = """ {
                "controllers": {
                    "a": true,
                    "b": true,
                }
            }""".trimIndent()
            println(Klaxon().parse<Thing>(json))
This fails with
com.beust.klaxon.KlaxonException: Couldn't find a suitable constructor for class Thing to initialize with {controllers=}: java.lang.IllegalArgumentException argument type mismatch
- but the given alternate constructor should be suitable, no?
(I'm talking to a silly api that returns a map of
{"controller_id": true }
instead of just a list of `controller_id`s, but want my data class to only contain a list. )