使用Klaxon解析Kotlin中包含枚举数组的JSON

使用Klaxon解析Kotlin中包含枚举数组的JSON,json,kotlin,klaxon,Json,Kotlin,Klaxon,我是Kotlin的新手,尝试从JSON解析枚举数组: val convertColor = object: Converter<Color> { override fun toJson(value: Color): String? = when(value) { Color.R -> "red" Color.G -> "green" Color.B -> "blue" else -> nu

我是Kotlin的新手,尝试从JSON解析枚举数组:

val convertColor = object: Converter<Color> {
    override fun toJson(value: Color): String? = when(value) {
        Color.R -> "red"
        Color.G -> "green"
        Color.B -> "blue"
        else -> null
    }

    override fun fromJson(jv: JsonValue): Color = when(jv.inside) {
        "red" -> Color.R
        "green" -> Color.G
        "blue" -> Color.B
        else -> throw IllegalArgumentException("Invalid Color")
    }
}

enum class Color { R, G, B }
data class Root (val colors: Array<Color>)
似乎转换器未应用于数组元素。

如果您将数组替换为列表,则它会起作用,但建议您:

data class Root(val colors: List<Color>)
Exception in thread "main" java.lang.IllegalArgumentException: array element type mismatch
data class Root(val colors: List<Color>)