我是 Android 开发者,
我在进行 API 调用时遇到问题。
我正在接收大量数据,进行 API 调用,并且 API 调用成功,我可以在 logcat 中看到 JSON 响应。
现在我将该 JSON 响应转换为模型类。然后我遇到了一个问题。我遇到这样的异常。 “空字符串”。
但是我的数据很大。我找不到问题到底出在哪里。
Retrofit
- 用于 API 调用Gson
- 用于转换和处理数据ActivitiesApiRepository.searchActivities(object : retrofit2.Callback<JsonElement> {
//...
override fun onResponse(call: Call<JsonElement>, response: Response<JsonElement>) {
val mResponse = Gson().fromJson(response.body(), MyModelClass::class.java)
}
}
ActivitiesApiRepository.searchActivities(object : retrofit2.Callback<MyModelClass> {
//...
override fun onResponse(call: Call<MyModelClass>, response: Response<MyModelClass>) {
val mResponse = response.body() as MyModelClass
}
}
empty String
请有解决方案我该如何管理它?
当您的模型类与原始 json 结果不匹配时,就会出现此问题 通常情况下。我猜想原始 json 结果中的变量类型是“空字符串”,代码中的变量类型是“列表类型”或“自定义类类型”。您可以将 json 结果复制并粘贴到文本编辑器中并尝试格式化它,您可以看到格式化的结果。重点关注空字符串结果,并在代码中验证它是否是正确的类型。