Hi. How can I parse JSON for a class with private ...
# klaxon
n
Hi. How can I parse JSON for a class with private attributes?
Copy code
import com.beust.klaxon.Klaxon

class Config(
        val version: String,
        private val projects: Set<String>) {
    fun contains(name: String) = projects.contains(name)
}

fun main(args: Array<String>) {
    val jsonString = """{"version": "v1", "projects": ["abc"]}"""
    Klaxon().parse<Config>(jsonString)
}
This sample leads to the error
Copy code
Exception in thread "main" com.beust.klaxon.KlaxonException: Couldn't find a suitable constructor for class Config to initialize with {version=v1}: java.lang.IllegalArgumentException No argument provided for a required parameter: parameter #1 projects of fun <init>(kotlin.String, kotlin.collections.Set<kotlin.String>): Config
Thank you in advance.