首页 > 解决方案 > 将 javascript 对象数组传递给 kotlin 函数

问题描述

如何将 javascript 对象数组传递给 Kotlin 函数?我的问题是,我认为,kotlin 函数中 data 参数的数据类型。我得到的错误是:

     Got unknown argument class: Object[]

     var data = [{"name":"Elim","startDate":"2019-09-09"}....]
     NativeModules.EmployeeProcessor.processData(data,err=>{}, success =>{});

科特林功能是:

        processData(data: Array<kotlin.Any>, cb: Callback) {
        for(k in data){
           Log.i(null, k['name'])
           }

        }

标签: kotlin

解决方案


我看到你想将 jsonString 转换为对象?

所以请试试这个:

fun <reified T> fromJsonArray(json: String): List<T> {
        val jsonArray = JSONArray(json)
        val result = ArrayList<T>()
        for (index in 0 until jsonArray.length()) {
            result.add(fromJson(jsonArray.getString(index)))
        }
        return result
    }

如何使用:

fromJsonArray(jsonString)

希望这有帮助!


推荐阅读