Я разрабатываю приложение для Android, где мне нужно получать сообщения из блога Wordpress (с определенным тегом). JSON API
: https://wordpress.org/plugins/json-api/Android volley: Ожидалось BEGIN_ARRAY, но было 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);
Может кто-нибудь помочь мне и сказать, что мне нужно изменить, чтобы заставить его работать?
разместим ваш JSON respnse – rafsanahmad007
вы, очевидно, есть JSON 'object' но пытаются разобрать его как json 'array'. – injecteer
Вы должны создать класс модели. –