私はWordpressのブログ(特定のタグ付き)の投稿を取得する必要があるAndroidアプリケーションを開発しています。 JSON API
プラグインがインストールされています:https://wordpress.org/plugins/json-api/Androidのボレー:BEGIN_ARRAYがBEGIN_OBJECTになっていましたが、BEGIN_OBJECTでした
私のアプリケーションでは、Volleyライブラリを使用しています。私はこのエラーを取得しています:
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT
は私のコード:
String url = " http://christianconcepts.com/api/get_tag_posts/?tag_slug=appcontent ";
ListView postList;
List<Object> list;
Gson gson;
Map<String,Object> mapPost;
Map<String,Object> mapTitle;
String postTitle[];
StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
@Override
public void onResponse(String s) {
gson = new Gson();
list = (List) gson.fromJson(s, List.class); // error line
postTitle = new String[list.size()];
for(int i=0;i<list.size();++i){
mapPost = (Map<String,Object>)list.get(i);
mapTitle = (Map<String, Object>) mapPost.get("title");
postTitle[i] = (String) mapTitle.get("rendered");
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
Toast.makeText(getActivity().getApplicationContext(), "Some error occurred", Toast.LENGTH_LONG).show();
}
});
RequestQueue rQueue = Volley.newRequestQueue(myView.getContext());
rQueue.add(request);
誰かが私を助けて、私はそれを動作させるために変更する必要が何をすべきか教えてもらえますか?
list = Arrays.asList(gson.fromJson(s,
List[].class));
代わりに...
list = (List) gson.fromJson(s, List.class); // error line
のこの公式ガイドを介して行くことができる詳細情報については、あなたは明らかにそれを解析しようとしているobject'が、JSONを '持っ – rafsanahmad007
あなたのJSONのrespnseを投稿jsonの 'array'と同じです。 – injecteer
モデルクラスを作成する必要があります。 –