Использование поля класса через строку | Kotlin

Пытаюсь разобраться в нетипизированном програмировании и застрял на полях:

inline fun <reified T : Any> covertToClass(fileName: String){
    val obj: JSONObject = JSONObject(this.readFile(fileName)) //Получаю json файл, созданный на основе класса
    val classFields = getAllFields<T>() //получаю название полей класса
    val _class: T = T::class.createInstance() //создаю экземпляр класса

    for(field in classFields){
        _class.field <-как? = ...
    }
}

inline fun <reified T> getAllFields(): MutableList<String> {
    val allFields = T::class.java.declaredFields
    val fields: MutableList<String> = mutableListOf()
    //Log.i("DataShell", "Class ${T::class.java.name} has ${allFields.size} fields!")
    for (field in allFields) {
        fields.add(field.name)
        //Log.i("DataShell", "Class: ${T::class.java.name} -> field name: ${field.name}.")
    }
    return fields
}

Как мне изменить содержимое поля у созданного экземпляра класса, если есть только его название?


Ответы (0 шт):