java - 预期 BEGIN_ARRAY 但 BEGIN_OBJECT 在第 1 行第 2 列路径 $?
问题描述
当我调用天气免费 API
https://api.apixu.com/v1/forecast.json?key=8f71b99b716f4278b98103446181912&q=Paris
问题是
- 我的邮递员和使用 Call in Retrofit 我得到数据
- 使用 POJO 类我得到响应错误
错误应为 BEGIN_ARRAY,但在第 1 行第 2 列路径为 BEGIN_OBJECT
Call<List<DetailsMain>> listCall = api.getDetailsByParameter("8f71b99b716f4278b98103446181912", "Paris");
listCall.enqueue(new Callback<List<DetailsMain>>() {
@Override
public void onResponse(Call<List<DetailsMain>> call, Response<List<DetailsMain>> response) {
DetailsMainList.setValue(response.body());
Log.d("data", "" + response.body());
}
@Override
public void onFailure(Call<List<DetailsMain>> call, Throwable t) {
Log.d("Error", "" + t.getMessage());
}
});
解决方案
检查你的 POJO。检查它是否与您收到的响应一致。根据您提到的错误,您在响应中获得了一个 JsonObject,您已在 POJO 中声明了一个 JsonArray。
推荐阅读
- excel - Excel VBA 在使用循环运行宏后没有响应
- qt - qt - 使用 QPainter 实例化绘图
- javascript - react + firebase unsubscribe 不是 useEffect 中的功能
- ssh - 通过跃点服务器挂载 NFS 共享
- python - 通过从数字中吐出文本并将其用于键:值对来从字符串列表创建字典
- blockchain - 如何解决我们在以太坊合约中编译 deploy.js 文件时出现节点版本错误的问题
- c# - ASP.NET Core 依赖注入错误 - 尝试激活“服务”时无法解析“存储库”类型的服务
- php - Laravel - 如何通过单个 html 选择选项识别哪个模型(两个模型)
- intel - 关于虚拟化和游戏设置的建议
- html - CSS网格框阴影不跟随容器底部附近的网格流