Hello, I’ve been having trouble using kotson, to p...
# kotson
r
Hello, I’ve been having trouble using kotson, to parse a test input json. Can anyone help? I’ve tried defining a model class like this:
Copy code
class InputData(public val obj: JsonObject) {

    val model: String by obj.byString("model")
    val storeId: String by obj.getAsJsonObject("data").byString("store_id")
    val pumpId: String by obj.getAsJsonObject("data").byString("pump_id")
    val device: String by obj.getAsJsonObject("data").byString("device")
    val user: String by obj.getAsJsonObject("data").byString("user")
    val password: String by obj.getAsJsonObject("data").byString("password")
    val cpf: String by obj.getAsJsonObject("data").byString("cpf")
    val birthdate: String by obj.getAsJsonObject("data").byString("birthdate")
    val zipCode: String by obj.getAsJsonObject("data").byString("zip_code")
    val street: String by obj.getAsJsonObject("data").byString("street")
    val number: String by obj.getAsJsonObject("data").byString("number")
    val complement: String by obj.getAsJsonObject("data").byString("complement")
    val city: String by obj.getAsJsonObject("data").byString("city")
    val state: String by obj.getAsJsonObject("data").byString("state")
    val neighborhood: String by obj.getAsJsonObject("data").byString("neighborhood")
    val name: String by obj.getAsJsonObject("data").byString("name")
    val phone: String by obj.getAsJsonObject("data").byString("phone")
    val linkePaypal: Boolean by obj.getAsJsonObject("data").byBool("link_paypal")
    val penelopeUser: String by obj.getAsJsonObject("data").byString("penelope_user")
    val penelopePass: String by obj.getAsJsonObject("data").byString("penelope_pass")
}
and then I’m trying to use that to parse my jsonReader like this but I’m having trouble with the fromJson method:
Copy code
class InputParser {

    fun parse(name: String) : Any {
        val gson = Gson()
        val jsonReader = JsonReader(FileReader(name))

        //TODO
        // can' use from json
        val parsedInput = gson.fromJson(jsonReader, )
        
        return parsedInput
    }
}