java - 使用 Ion 库加载返回 null JsonObject 结果
问题描述
几个月前,我构建了一个 Android 应用程序,其中一个片段用于使用 News API 显示新闻。最近,当我再次运行该应用程序时,出现以下错误。
我附上了发生错误的代码片段。
Ion.with(getActivity()).load("GET",urltemp).asJsonObject().setCallback(new FutureCallback<JsonObject>() {
@Override
public void onCompleted(Exception e, JsonObject result) {
Log.d(TAG, "enter ");
String status = result.get("status").getAsString();
if (status.equals("ok")) {
JsonArray array = result.get("articles").getAsJsonArray();
for (int i = 0; i < array.size(); i++) {
JsonObject object = array.get(i).getAsJsonObject();
String author = object.get("author").toString();
String title = object.get("title").toString();
title = title.substring(1, title.length() - 1);
String url = object.get("url").toString();
url = url.substring(1, url.length() - 1);
String urlToImage = object.get("urlToImage").toString();
urlToImage = urlToImage.substring(1, urlToImage.length() - 1);
String date = object.get("publishedAt").toString();
String content = object.get("content").toString();
content = content.substring(1, content.length() - 1);
items.add(new ModelItems(title, author, date, urlToImage, url));
}
adapter = new SlideshowViewModel(getActivity(), items);
recyclerView.setAdapter(adapter);
LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(layoutManager);
Log.d(TAG, "success");
} else {
Log.e(TAG, "error");
}
}
});
现在,我认为可能有两个可能的错误来源,要么是 URL(urltemp变量)的问题,要么是 Ion 库的问题。现在,我将 URL 粘贴到浏览器中,它工作正常。所以,我想问题出在离子上。JsonObject 结果始终为空。尝试了不同的东西,但无法找出任何解决方案。
我从来没有使用过邮递员。所以,我不知道如何发布 API 响应。我附上了我如何分配 URL。
我尝试的一件事是在浏览器中粘贴上面的 URL。当我将 URL 粘贴到浏览器中时,我得到以下响应:
解决方案
似乎 String status = result.get("status").getAsString();
从您的服务器返回 null 。你能发布邮递员的 API 回复吗
推荐阅读
- ruby-on-rails - 仅在满足特定条件时运行一组验证的最佳实践?
- php - 如何通过添加到购物车查询字符串将多个可变产品添加到购物车
- python - 在不更改原始数据框的情况下向数据框的副本添加一列
- reactjs - 在 react-datepicker 中使用带有日期范围的 React-Redux 表单字段
- excel - VBA试图覆盖匹配记录并将不匹配的记录从ws1移动到ws2
- python - 使用 tensorflow、顺序预测时需要更高的准确性
- ios - XCode 自动完成功能不适用于扩展
- vba - 带有许多工作表和宏的慢速 Excel 文件
- mysql - 从 MySql 中的模式获取表行数
- android - 如何为录音机添加暂停选项