0
jsonオブジェクトをjavaオブジェクトに変換していますが、エラーが発生しています com.google.gson.JsonSyntaxException:com.google.gson.stream.MalformedJsonException:行1の列20のパスで終了していないオブジェクト$ [0ここで.urlToImageGSONの不正なURL例外
が私のコードである
public void onResponse(JSONObject response) {
JSONArray recArticles = new JSONArray();
try {
recArticles = response.getJSONArray("articles");
for (int i=0;i<recArticles.length();i++) {
JSONObject jsonObject = recArticles.getJSONObject(i);;
String author = jsonObject.getString("author");
String title = jsonObject.getString("title");
String description = jsonObject.getString("description");
String url = jsonObject.getString("url");
String urlToImage = jsonObject.getString("urlToImage");
HashMap<String, String> singleArticle = new HashMap<String, String>();
singleArticle.put("author", author);
singleArticle.put("title", title);
singleArticle.put("description", description);
singleArticle.put("url", url);
singleArticle.put("urlToImage", urlToImage);
mArticleList.add(String.valueOf(singleArticle));
}
} catch (JSONException e) {
e.printStackTrace();
}
Gson gson = new Gson();
Type articleListType = new TypeToken<Collection<RecArticle>>() {}.getType();
Log.d(TAG, "onResponse: " + mArticleList);
Log.d(TAG, "onResponse: " + String.valueOf(mArticleList));
mArticles = gson.fromJson(String.valueOf(mArticleList), articleListType);
mArticleAdapter = new RecommenderAdapter(getContext(), mArticles);
mRecyclerView.setAdapter(mArticleAdapter);
mAviLib.hide();
mRefreshLayout.setRefreshing(false);
}
あなたのJを入れてSONはしてください、エラーJSONが形式が間違っていると言います。 –
ここはリンクですhttps://newsapi.org/v1/articles?source=google-news&sortBy=top&apiKey=2743bc85885242bbade88d6c0a25c511 –
Gson.fromJsonはjson文字列を取ります。私は、mArticleListはjsonの文字列ではないと思います。 –