如何从KOTLIN中API的实体响应输出类型内部的键中从内部JSONObject提取值?

问题描述

我试图从ResponseEntity 变量“ result”中获取JSONObjects数组。

 <200 OK,{"response":"success","count":0,"maintenanceDetails":[{"date":"2020\/08\/21","activity":"TestActivity","operatorName":"Operator","operator":"Mock for Party,hashCode: 552416003","status":"Open"}],"buildingId":Mock for UUID,hashCode: 2141932519},{}>

上面给出了结果的输出值。

val result = dashBoardService!!.getMaintenanceStateByBuildingId(id)

println("Result "+result.body["maintenanceDetails"])

val a =result.body["maintenanceDetails"] as Array<JSONObject>
println("A  "+ a.first().get("activity"))

我使用“ as Array ”进行转换,因为result.body [“ maintenanceDetails”]通常以“ Any”类型出现,我无法提取更多类型。但这给了我下面的错误。

java.lang.ClassCastException:无法将java.util.ArrayList强制转换为[Lorg.json.simple.JSONObject;

我需要从Array中获取第一个JSONObject对应于result.body [“ maintenanceDetails”],以便可以在断言检查中使用它。请帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)