Android “无法解决”;内容长度和流长度不一致”;错误
我在尝试执行以下代码时出错:Android “无法解决”;内容长度和流长度不一致”;错误,android,kotlin,Android,Kotlin,我在尝试执行以下代码时出错: fun parseErrorCodes(response: Response<*>): List<String> { val errorCodes: MutableList<String> = ArrayList() try { val listType = object : TypeToken<ArrayList<ApiError>>() {
fun parseErrorCodes(response: Response<*>): List<String> {
val errorCodes: MutableList<String> = ArrayList()
try {
val listType = object : TypeToken<ArrayList<ApiError>>() {
}.type
val errorJson = JsonParser().parse(response.errorBody().string()).asJsonObject.get("response")
if (errorJson.isJsonArray) {
val errors = Gson().fromJson<List<ApiError>>(errorJson, listType)
for (apiError in errors) {
errorCodes.add(apiError.errorCode)
}
return errorCodes
} else {
errorCodes.add(Gson().fromJson(errorJson, ApiError::class.java).errorCode)
return errorCodes
}
} catch (e: Exception) {
e.printStackTrace()
}
return errorCodes
}
错误代码(响应:响应):列表{
val错误代码:MutableList=ArrayList()
试一试{
val listType=对象:TypeToken(){
}.类型
val errorJson=JsonParser().parse(response.errorBody().string()).asJsonObject.get(“response”)
if(errorJson.isJsonArray){
val errors=Gson().fromJson(errorJson,listType)
for(错误中的错误){
errorCodes.add(APIRERROR.errorCode)
}
返回错误代码
}否则{
添加(Gson().fromJson(errorJson,APIRROR::class.java).errorCode)
返回错误代码
}
}捕获(e:例外){
e、 printStackTrace()
}
返回错误代码
}
错误发生在以下行:val errorJson=JsonParser().parse(response.errorBody().string()).asJsonObject.get(“response”)
有人能帮我解决这个错误吗?我找到了问题的答案。问题是,我试图两次解析API的响应,第一次是显示错误消息,然后获取错误代码来处理它们,以便将来进行验证 这就是我的代码的外观:
ErrorHandler.showError(activity, response)
val errorCodes = ErrorHandler.parseErrorCodes(response)
handleErrorCodes(errorCodes)
所以,这两种方法都使用了API响应