如何用json显示正确的路径



我正在创建新闻阅读器应用程序。我只保留了代码的一部分,其他的都可以。问题是在QueryUtils中定义"title"one_answers"url"的路径。

以下是我需要阅读的内容,来自jsonfreetyprint

{
"status": "ok",
"source": "bbc-news",
"sortBy": "top",
"articles": [
{
"author": "BBC News",
"title": "China: Huawei arrest is rights abuse",
"description": "The US seeks to extradite chief financial officer Meng Wanzhou, daughter of the telecom giant's founder.",
"url": "http://www.bbc.co.uk/news/business-46465768",
"urlToImage": "https://ichef.bbci.co.uk/news/1024/branded_news/CB73/production/_104638025_051019893.jpg",
"publishedAt": "2018-12-06T09:49:44Z"
}

我需要显示标题和网址。

这是QueryUtils 的代码

private static List<News> extractFeatureFromJson(String newsJSON) {
if (TextUtils.isEmpty( newsJSON )) {
return null;
}
List<News> newsall = new ArrayList<>();
try {
JSONObject data = new JSONObject(newsJSON);
JSONObject response = data.getJSONObject(RESPONSE);
JSONArray results = response.getJSONArray(ARTICLES);
for (int i = 0; i < results.length(); i++) {
JSONObject obj = results.getJSONObject(i);
String webTitle = obj.getJSONArray( ARTICLES ).getJSONObject( 0 ).getString( WEB_TITLE );
String webUrl = obj.getJSONArray( ARTICLES ).getJSONObject( 0 ).getString( WEB_URL );
News news = new News(webTitle, webUrl);
newsall.add(news);
}
} catch (JSONException e) {
Log.e("QueryUtils", "Problem parsing the news JSON results", e);
}
return newsall;
}

我不知道如何获得标题和网址的路径。字符串webTitle和webUrl定义错误。

TY寻求帮助!

将代码更改为以下内容:

try {
JSONObject data = new JSONObject(newsJSON);
JSONArray results = data.getJSONArray("articles");
for (int i = 0; i < results.length(); i++) {
JSONObject obj = results.getJSONObject(i);
String webTitle = obj.getString("title");
String webUrl = obj.getString("url");
News news = new News(webTitle, webUrl);
newsall.add(news);
}
}

首先,您不需要创建响应JSONObject,因为您已经有了数据对象。您应该能够直接从数据对象访问您的文章数组列表。其次,在for each循环中,通过使用.getString方法并声明要提取的值的字符串标题,可以轻松地获取字符串。

试试看。

相关内容

  • 没有找到相关文章

最新更新