com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was...
I have an json output like below.
[{"FoodName":"fish","image":"http://ckckc.com/images/60.png","loginname":"sss","time":"1525706184851","userid":"1","profile":"http://ckckc.com/profile/0.png","cuisine":"pomfret fry","wherefrom":"fish shop","locality":"xxx block ","random":"0869155d","id":"61","city":"","like":"0","follow":"profile"}]
I am getting this using StringRequest in Volley to get the response. Am using Gson library to parse and it was working fine. But suddenly i am getting the below error.
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 3 path $[0]
Am not sure whats went wrong. Gson code used to parseis mentioned below.
Gson gson = new Gson();
ArrayList<descusers> dusers = gson.fromJson(s, new TypeToken<ArrayList<descusers>>() {}.getType());
s is my response. I have cross checked all the values in the descusers and variables are matching. Please help.
Cleaned and Rebuild the project but no use. In error it mentioned as path.$[0] and i am not sure which objects it points.
My POJO class:
class descusers extends ArrayList<Parcelable> implements Parcelable {
String descCrip;
String loginname;
String image;
long Ptime;
String profile;
String Image;
String cuisine;
String where;
String locality;
int id;
String random;
String comment;
String reply;
double latitude,longitude;
int like;
int likecount;
int sharecount;
int commentid;
int commentcount;
int replycount;
int commentrepliesid;
int userid;
String city;
String username;
int present;
String followcheckinlists;
long timeofaction;
int idofpost;
String actionuserprofile;
int actionuserid;
String actionusername;
String usernameofpost;
String action;
String postimage;
String follow;
String FoodName;
String wherefrom;
long time;
int useridofpost;
public long getTime() {
return time;
}
public void setTime(long time) {
this.time = time;
}
public void setReplycount(int replycount) {
this.replycount = replycount;
}
public String getFoodName() {
return FoodName;
}
public void setFoodName(String foodName) {
FoodName = foodName;
}
protected descusers(Parcel in) {
descCrip = in.readString();
loginname = in.readString();
image = in.readString();
Ptime = in.readLong();
profile = in.readString();
Image = in.readString();
cuisine = in.readString();
where = in.readString();
locality = in.readString();
id = in.readInt();
random = in.readString();
comment = in.readString();
reply = in.readString();
city = in.readString();
latitude = in.readDouble();
longitude = in.readDouble();
like = in.readInt();
likecount = in.readInt();
sharecount = in.readInt();
commentid = in.readInt();
commentcount = in.readInt();
replycount = in.readInt();
commentrepliesid = in.readInt();
userid = in.readInt();
username = in.readString();
present = in.readInt();
followcheckinlists = in.readString();
timeofaction = in.readLong();
idofpost = in.readInt();
actionuserprofile = in.readString();
actionuserid = in.readInt();
actionusername = in.readString();
usernameofpost = in.readString();
action = in.readString();
postimage = in.readString();
follow = in.readString();
FoodName = in.readString();
wherefrom = in.readString();
time = in.readLong();
useridofpost = in.readInt();
}
public static final Creator<descusers> CREATOR = new Creator<descusers>() {
@Override
public descusers createFromParcel(Parcel in) {
return new descusers(in);
}
@Override
public descusers newArray(int size) {
return new descusers[size];
}
};
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public void setPtime(long ptime) {
Ptime = ptime;
}
public void setProfile(String profile) {
this.profile = profile;
}
public String getProfile() {
return profile;
}
public int getCommentrepliesid() {
return commentrepliesid;
}
public descusers() {
}
public String getRandom() {
return random;
}
public void setRandom(String random) {
this.random = random;
}
public String getLoginname() {
return loginname;
}
public String getComment() {
return comment;
}
public String getDescCrip() {
return descCrip;
}
public void setDescCrip(String descCrip) {
this.descCrip = descCrip;
}
public int getCommentid() {
return commentid;
}
public void setCommentcount(int commentcount) {
this.commentcount = commentcount;
}
public int getCommentcount() {
return commentcount;
}
public void setSharecount(int sharecount) {
this.sharecount = sharecount;
}
public void setCity(String city) {
this.city = city;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public String getCity() {
return city;
}
public double getLatitude() {
return latitude;
}
public double getLongitude() {
return longitude;
}
public void setLongitude(double longitude) {
this.longitude = longitude;
}
public String getReply() {
return reply;
}
public String getName(){
return loginname;
}
public String getCuisine() {
return cuisine;
}
public String getWhere() {
return where;
}
public void setLoginname(String loginname) {
this.loginname = loginname;
}
public String getLocality() {
return locality;
}
public String getimage() {
return image;
}
public void setimage(String image) {
this.image = image;
}
public void setId(int id) {
this.id = id;
}
public int getLikecount() {
return likecount;
}
public int getId() {
return id;
}
public void setLikecount(int likecount) {
this.likecount = likecount;
}
public void setLike(int like) {
this.like = like;
}
public void setCuisine(String cuisine) {
this.cuisine = cuisine;
}
public void setWhere(String where) {
this.where = where;
}
public void setLocality(String locality) {
this.locality = locality;
}
public int getLike() { return like; }
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public long getPtime() {
return Ptime;
}
@Override
public int describeContents() {
return 0;
}
public int getPresent() {
return present;
}
public void setPresent(int present) {
this.present = present;
}
public String getFollowcheckinlists() {
return followcheckinlists;
}
public long getTimeofaction() {
return timeofaction;
}
public String getAction() {
return action;
}
public void setAction(String action) {
this.action = action;
}
public void setTimeofaction(long timeofaction) {
this.timeofaction = timeofaction;
}
public int getIdofpost() {
return idofpost;
}
public void setIdofpost(int idofpost) {
this.idofpost = idofpost;
}
public String getActionuserprofile() {
return actionuserprofile;
}
public void setActionuserprofile(String actionuserprofile) {
this.actionuserprofile = actionuserprofile;
}
public int getActionuserid() {
return actionuserid;
}
public void setActionuserid(int actionuserid) {
this.actionuserid = actionuserid;
}
public String getActionusername() {
return actionusername;
}
public void setActionusername(String actionusername) {
this.actionusername = actionusername;
}
public String getUsernameofpost() {
return usernameofpost;
}
public void setUsernameofpost(String usernameofpost) {
this.usernameofpost = usernameofpost;
}
public String getPostimage() {
return postimage;
}
public void setPostimage(String postimage) {
this.postimage = postimage;
}
public void setFollowcheckinlists(String followcheckinlists) {
this.followcheckinlists = followcheckinlists;
}
public String getFollow() {
return follow;
}
public void setFollow(String follow) {
this.follow = follow;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(descCrip);
dest.writeString(loginname);
dest.writeString(image);
dest.writeLong(Ptime);
dest.writeString(profile);
dest.writeString(Image);
dest.writeString(cuisine);
dest.writeString(where);
dest.writeString(locality);
dest.writeInt(id);
dest.writeString(random);
dest.writeString(comment);
dest.writeString(reply);
dest.writeString(city);
dest.writeDouble(latitude);
dest.writeDouble(longitude);
dest.writeInt(like);
dest.writeInt(likecount);
dest.writeInt(sharecount);
dest.writeInt(commentid);
dest.writeInt(commentcount);
dest.writeInt(replycount);
dest.writeInt(commentrepliesid);
dest.writeInt(userid);
dest.writeString(username);
dest.writeInt(present);
dest.writeString(followcheckinlists);
dest.writeLong(timeofaction);
dest.writeInt(idofpost);
dest.writeString(actionuserprofile);
dest.writeInt(actionuserid);
dest.writeString(actionusername);
dest.writeString(usernameofpost);
dest.writeString(action);
dest.writeString(postimage);
dest.writeString(follow);
dest.writeString(FoodName);
dest.writeString(wherefrom);
dest.writeLong(time);
dest.writeInt(useridofpost);
}
}
Method used for getting response from server.
private void listdisp(String query, String locationname, String uname, int id) {
m.mShimmerViewContainer.startShimmer();
m.mShimmerViewContainer.setVisibility(View.VISIBLE);
StringRequest stringRequest = new StringRequest(Request.Method.POST, BuildConfig.LD,
new Response.Listener<String>() {
@Override
public void onResponse(String s) {
if (s != null && !s.isEmpty() && !s.equals("no results"))
{
Gson gson = new Gson();
m.dusers = gson.fromJson(s, new TypeToken<ArrayList<descusers>>() {}.getType());
FragmentActivity c = getActivity();
m.fpa = new followpostAdapter(c, m.dusers,m.user,m.s);
m.lists.setAdapter(m.fpa);
m.lists.setVisibility(View.VISIBLE);
// m.lists.setTextFilterEnabled(false);
// m.lists.setEmptyView(m.emptyElement);
m.mShimmerViewContainer.stopShimmer();
m.mShimmerViewContainer.setVisibility(View.GONE);
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getActivity(), error.getMessage(), Toast.LENGTH_LONG).show();
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new Hashtable<String, String>();
params.put("deskey", query);
params.put("uname",uname);
params.put("locationame",locationname);
params.put("userid",String.valueOf(id));
return params;
}
};
int socketTimeout = 60000;
RetryPolicy policy = new DefaultRetryPolicy(socketTimeout,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);
RequestQueue requestQueue = Volley.newRequestQueue(getActivity());
stringRequest.setRetryPolicy(policy);
requestQueue.add(stringRequest);
}
android gson android-gson
add a comment |
I have an json output like below.
[{"FoodName":"fish","image":"http://ckckc.com/images/60.png","loginname":"sss","time":"1525706184851","userid":"1","profile":"http://ckckc.com/profile/0.png","cuisine":"pomfret fry","wherefrom":"fish shop","locality":"xxx block ","random":"0869155d","id":"61","city":"","like":"0","follow":"profile"}]
I am getting this using StringRequest in Volley to get the response. Am using Gson library to parse and it was working fine. But suddenly i am getting the below error.
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 3 path $[0]
Am not sure whats went wrong. Gson code used to parseis mentioned below.
Gson gson = new Gson();
ArrayList<descusers> dusers = gson.fromJson(s, new TypeToken<ArrayList<descusers>>() {}.getType());
s is my response. I have cross checked all the values in the descusers and variables are matching. Please help.
Cleaned and Rebuild the project but no use. In error it mentioned as path.$[0] and i am not sure which objects it points.
My POJO class:
class descusers extends ArrayList<Parcelable> implements Parcelable {
String descCrip;
String loginname;
String image;
long Ptime;
String profile;
String Image;
String cuisine;
String where;
String locality;
int id;
String random;
String comment;
String reply;
double latitude,longitude;
int like;
int likecount;
int sharecount;
int commentid;
int commentcount;
int replycount;
int commentrepliesid;
int userid;
String city;
String username;
int present;
String followcheckinlists;
long timeofaction;
int idofpost;
String actionuserprofile;
int actionuserid;
String actionusername;
String usernameofpost;
String action;
String postimage;
String follow;
String FoodName;
String wherefrom;
long time;
int useridofpost;
public long getTime() {
return time;
}
public void setTime(long time) {
this.time = time;
}
public void setReplycount(int replycount) {
this.replycount = replycount;
}
public String getFoodName() {
return FoodName;
}
public void setFoodName(String foodName) {
FoodName = foodName;
}
protected descusers(Parcel in) {
descCrip = in.readString();
loginname = in.readString();
image = in.readString();
Ptime = in.readLong();
profile = in.readString();
Image = in.readString();
cuisine = in.readString();
where = in.readString();
locality = in.readString();
id = in.readInt();
random = in.readString();
comment = in.readString();
reply = in.readString();
city = in.readString();
latitude = in.readDouble();
longitude = in.readDouble();
like = in.readInt();
likecount = in.readInt();
sharecount = in.readInt();
commentid = in.readInt();
commentcount = in.readInt();
replycount = in.readInt();
commentrepliesid = in.readInt();
userid = in.readInt();
username = in.readString();
present = in.readInt();
followcheckinlists = in.readString();
timeofaction = in.readLong();
idofpost = in.readInt();
actionuserprofile = in.readString();
actionuserid = in.readInt();
actionusername = in.readString();
usernameofpost = in.readString();
action = in.readString();
postimage = in.readString();
follow = in.readString();
FoodName = in.readString();
wherefrom = in.readString();
time = in.readLong();
useridofpost = in.readInt();
}
public static final Creator<descusers> CREATOR = new Creator<descusers>() {
@Override
public descusers createFromParcel(Parcel in) {
return new descusers(in);
}
@Override
public descusers newArray(int size) {
return new descusers[size];
}
};
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public void setPtime(long ptime) {
Ptime = ptime;
}
public void setProfile(String profile) {
this.profile = profile;
}
public String getProfile() {
return profile;
}
public int getCommentrepliesid() {
return commentrepliesid;
}
public descusers() {
}
public String getRandom() {
return random;
}
public void setRandom(String random) {
this.random = random;
}
public String getLoginname() {
return loginname;
}
public String getComment() {
return comment;
}
public String getDescCrip() {
return descCrip;
}
public void setDescCrip(String descCrip) {
this.descCrip = descCrip;
}
public int getCommentid() {
return commentid;
}
public void setCommentcount(int commentcount) {
this.commentcount = commentcount;
}
public int getCommentcount() {
return commentcount;
}
public void setSharecount(int sharecount) {
this.sharecount = sharecount;
}
public void setCity(String city) {
this.city = city;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public String getCity() {
return city;
}
public double getLatitude() {
return latitude;
}
public double getLongitude() {
return longitude;
}
public void setLongitude(double longitude) {
this.longitude = longitude;
}
public String getReply() {
return reply;
}
public String getName(){
return loginname;
}
public String getCuisine() {
return cuisine;
}
public String getWhere() {
return where;
}
public void setLoginname(String loginname) {
this.loginname = loginname;
}
public String getLocality() {
return locality;
}
public String getimage() {
return image;
}
public void setimage(String image) {
this.image = image;
}
public void setId(int id) {
this.id = id;
}
public int getLikecount() {
return likecount;
}
public int getId() {
return id;
}
public void setLikecount(int likecount) {
this.likecount = likecount;
}
public void setLike(int like) {
this.like = like;
}
public void setCuisine(String cuisine) {
this.cuisine = cuisine;
}
public void setWhere(String where) {
this.where = where;
}
public void setLocality(String locality) {
this.locality = locality;
}
public int getLike() { return like; }
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public long getPtime() {
return Ptime;
}
@Override
public int describeContents() {
return 0;
}
public int getPresent() {
return present;
}
public void setPresent(int present) {
this.present = present;
}
public String getFollowcheckinlists() {
return followcheckinlists;
}
public long getTimeofaction() {
return timeofaction;
}
public String getAction() {
return action;
}
public void setAction(String action) {
this.action = action;
}
public void setTimeofaction(long timeofaction) {
this.timeofaction = timeofaction;
}
public int getIdofpost() {
return idofpost;
}
public void setIdofpost(int idofpost) {
this.idofpost = idofpost;
}
public String getActionuserprofile() {
return actionuserprofile;
}
public void setActionuserprofile(String actionuserprofile) {
this.actionuserprofile = actionuserprofile;
}
public int getActionuserid() {
return actionuserid;
}
public void setActionuserid(int actionuserid) {
this.actionuserid = actionuserid;
}
public String getActionusername() {
return actionusername;
}
public void setActionusername(String actionusername) {
this.actionusername = actionusername;
}
public String getUsernameofpost() {
return usernameofpost;
}
public void setUsernameofpost(String usernameofpost) {
this.usernameofpost = usernameofpost;
}
public String getPostimage() {
return postimage;
}
public void setPostimage(String postimage) {
this.postimage = postimage;
}
public void setFollowcheckinlists(String followcheckinlists) {
this.followcheckinlists = followcheckinlists;
}
public String getFollow() {
return follow;
}
public void setFollow(String follow) {
this.follow = follow;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(descCrip);
dest.writeString(loginname);
dest.writeString(image);
dest.writeLong(Ptime);
dest.writeString(profile);
dest.writeString(Image);
dest.writeString(cuisine);
dest.writeString(where);
dest.writeString(locality);
dest.writeInt(id);
dest.writeString(random);
dest.writeString(comment);
dest.writeString(reply);
dest.writeString(city);
dest.writeDouble(latitude);
dest.writeDouble(longitude);
dest.writeInt(like);
dest.writeInt(likecount);
dest.writeInt(sharecount);
dest.writeInt(commentid);
dest.writeInt(commentcount);
dest.writeInt(replycount);
dest.writeInt(commentrepliesid);
dest.writeInt(userid);
dest.writeString(username);
dest.writeInt(present);
dest.writeString(followcheckinlists);
dest.writeLong(timeofaction);
dest.writeInt(idofpost);
dest.writeString(actionuserprofile);
dest.writeInt(actionuserid);
dest.writeString(actionusername);
dest.writeString(usernameofpost);
dest.writeString(action);
dest.writeString(postimage);
dest.writeString(follow);
dest.writeString(FoodName);
dest.writeString(wherefrom);
dest.writeLong(time);
dest.writeInt(useridofpost);
}
}
Method used for getting response from server.
private void listdisp(String query, String locationname, String uname, int id) {
m.mShimmerViewContainer.startShimmer();
m.mShimmerViewContainer.setVisibility(View.VISIBLE);
StringRequest stringRequest = new StringRequest(Request.Method.POST, BuildConfig.LD,
new Response.Listener<String>() {
@Override
public void onResponse(String s) {
if (s != null && !s.isEmpty() && !s.equals("no results"))
{
Gson gson = new Gson();
m.dusers = gson.fromJson(s, new TypeToken<ArrayList<descusers>>() {}.getType());
FragmentActivity c = getActivity();
m.fpa = new followpostAdapter(c, m.dusers,m.user,m.s);
m.lists.setAdapter(m.fpa);
m.lists.setVisibility(View.VISIBLE);
// m.lists.setTextFilterEnabled(false);
// m.lists.setEmptyView(m.emptyElement);
m.mShimmerViewContainer.stopShimmer();
m.mShimmerViewContainer.setVisibility(View.GONE);
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getActivity(), error.getMessage(), Toast.LENGTH_LONG).show();
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new Hashtable<String, String>();
params.put("deskey", query);
params.put("uname",uname);
params.put("locationame",locationname);
params.put("userid",String.valueOf(id));
return params;
}
};
int socketTimeout = 60000;
RetryPolicy policy = new DefaultRetryPolicy(socketTimeout,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);
RequestQueue requestQueue = Volley.newRequestQueue(getActivity());
stringRequest.setRetryPolicy(policy);
requestQueue.add(stringRequest);
}
android gson android-gson
The error states that while you were expecting the Json to start with an array, it started with an object. If double check the received Json.
– Fred
Nov 20 at 8:12
It seems 'descusers' object is the problem.
– H. Ekici
Nov 20 at 8:14
Please post your pojo as well
– Akshay Paliwal
Nov 20 at 8:17
Posted POJO Classes and Volleymethod.
– user2269164
Nov 20 at 8:25
add a comment |
I have an json output like below.
[{"FoodName":"fish","image":"http://ckckc.com/images/60.png","loginname":"sss","time":"1525706184851","userid":"1","profile":"http://ckckc.com/profile/0.png","cuisine":"pomfret fry","wherefrom":"fish shop","locality":"xxx block ","random":"0869155d","id":"61","city":"","like":"0","follow":"profile"}]
I am getting this using StringRequest in Volley to get the response. Am using Gson library to parse and it was working fine. But suddenly i am getting the below error.
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 3 path $[0]
Am not sure whats went wrong. Gson code used to parseis mentioned below.
Gson gson = new Gson();
ArrayList<descusers> dusers = gson.fromJson(s, new TypeToken<ArrayList<descusers>>() {}.getType());
s is my response. I have cross checked all the values in the descusers and variables are matching. Please help.
Cleaned and Rebuild the project but no use. In error it mentioned as path.$[0] and i am not sure which objects it points.
My POJO class:
class descusers extends ArrayList<Parcelable> implements Parcelable {
String descCrip;
String loginname;
String image;
long Ptime;
String profile;
String Image;
String cuisine;
String where;
String locality;
int id;
String random;
String comment;
String reply;
double latitude,longitude;
int like;
int likecount;
int sharecount;
int commentid;
int commentcount;
int replycount;
int commentrepliesid;
int userid;
String city;
String username;
int present;
String followcheckinlists;
long timeofaction;
int idofpost;
String actionuserprofile;
int actionuserid;
String actionusername;
String usernameofpost;
String action;
String postimage;
String follow;
String FoodName;
String wherefrom;
long time;
int useridofpost;
public long getTime() {
return time;
}
public void setTime(long time) {
this.time = time;
}
public void setReplycount(int replycount) {
this.replycount = replycount;
}
public String getFoodName() {
return FoodName;
}
public void setFoodName(String foodName) {
FoodName = foodName;
}
protected descusers(Parcel in) {
descCrip = in.readString();
loginname = in.readString();
image = in.readString();
Ptime = in.readLong();
profile = in.readString();
Image = in.readString();
cuisine = in.readString();
where = in.readString();
locality = in.readString();
id = in.readInt();
random = in.readString();
comment = in.readString();
reply = in.readString();
city = in.readString();
latitude = in.readDouble();
longitude = in.readDouble();
like = in.readInt();
likecount = in.readInt();
sharecount = in.readInt();
commentid = in.readInt();
commentcount = in.readInt();
replycount = in.readInt();
commentrepliesid = in.readInt();
userid = in.readInt();
username = in.readString();
present = in.readInt();
followcheckinlists = in.readString();
timeofaction = in.readLong();
idofpost = in.readInt();
actionuserprofile = in.readString();
actionuserid = in.readInt();
actionusername = in.readString();
usernameofpost = in.readString();
action = in.readString();
postimage = in.readString();
follow = in.readString();
FoodName = in.readString();
wherefrom = in.readString();
time = in.readLong();
useridofpost = in.readInt();
}
public static final Creator<descusers> CREATOR = new Creator<descusers>() {
@Override
public descusers createFromParcel(Parcel in) {
return new descusers(in);
}
@Override
public descusers newArray(int size) {
return new descusers[size];
}
};
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public void setPtime(long ptime) {
Ptime = ptime;
}
public void setProfile(String profile) {
this.profile = profile;
}
public String getProfile() {
return profile;
}
public int getCommentrepliesid() {
return commentrepliesid;
}
public descusers() {
}
public String getRandom() {
return random;
}
public void setRandom(String random) {
this.random = random;
}
public String getLoginname() {
return loginname;
}
public String getComment() {
return comment;
}
public String getDescCrip() {
return descCrip;
}
public void setDescCrip(String descCrip) {
this.descCrip = descCrip;
}
public int getCommentid() {
return commentid;
}
public void setCommentcount(int commentcount) {
this.commentcount = commentcount;
}
public int getCommentcount() {
return commentcount;
}
public void setSharecount(int sharecount) {
this.sharecount = sharecount;
}
public void setCity(String city) {
this.city = city;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public String getCity() {
return city;
}
public double getLatitude() {
return latitude;
}
public double getLongitude() {
return longitude;
}
public void setLongitude(double longitude) {
this.longitude = longitude;
}
public String getReply() {
return reply;
}
public String getName(){
return loginname;
}
public String getCuisine() {
return cuisine;
}
public String getWhere() {
return where;
}
public void setLoginname(String loginname) {
this.loginname = loginname;
}
public String getLocality() {
return locality;
}
public String getimage() {
return image;
}
public void setimage(String image) {
this.image = image;
}
public void setId(int id) {
this.id = id;
}
public int getLikecount() {
return likecount;
}
public int getId() {
return id;
}
public void setLikecount(int likecount) {
this.likecount = likecount;
}
public void setLike(int like) {
this.like = like;
}
public void setCuisine(String cuisine) {
this.cuisine = cuisine;
}
public void setWhere(String where) {
this.where = where;
}
public void setLocality(String locality) {
this.locality = locality;
}
public int getLike() { return like; }
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public long getPtime() {
return Ptime;
}
@Override
public int describeContents() {
return 0;
}
public int getPresent() {
return present;
}
public void setPresent(int present) {
this.present = present;
}
public String getFollowcheckinlists() {
return followcheckinlists;
}
public long getTimeofaction() {
return timeofaction;
}
public String getAction() {
return action;
}
public void setAction(String action) {
this.action = action;
}
public void setTimeofaction(long timeofaction) {
this.timeofaction = timeofaction;
}
public int getIdofpost() {
return idofpost;
}
public void setIdofpost(int idofpost) {
this.idofpost = idofpost;
}
public String getActionuserprofile() {
return actionuserprofile;
}
public void setActionuserprofile(String actionuserprofile) {
this.actionuserprofile = actionuserprofile;
}
public int getActionuserid() {
return actionuserid;
}
public void setActionuserid(int actionuserid) {
this.actionuserid = actionuserid;
}
public String getActionusername() {
return actionusername;
}
public void setActionusername(String actionusername) {
this.actionusername = actionusername;
}
public String getUsernameofpost() {
return usernameofpost;
}
public void setUsernameofpost(String usernameofpost) {
this.usernameofpost = usernameofpost;
}
public String getPostimage() {
return postimage;
}
public void setPostimage(String postimage) {
this.postimage = postimage;
}
public void setFollowcheckinlists(String followcheckinlists) {
this.followcheckinlists = followcheckinlists;
}
public String getFollow() {
return follow;
}
public void setFollow(String follow) {
this.follow = follow;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(descCrip);
dest.writeString(loginname);
dest.writeString(image);
dest.writeLong(Ptime);
dest.writeString(profile);
dest.writeString(Image);
dest.writeString(cuisine);
dest.writeString(where);
dest.writeString(locality);
dest.writeInt(id);
dest.writeString(random);
dest.writeString(comment);
dest.writeString(reply);
dest.writeString(city);
dest.writeDouble(latitude);
dest.writeDouble(longitude);
dest.writeInt(like);
dest.writeInt(likecount);
dest.writeInt(sharecount);
dest.writeInt(commentid);
dest.writeInt(commentcount);
dest.writeInt(replycount);
dest.writeInt(commentrepliesid);
dest.writeInt(userid);
dest.writeString(username);
dest.writeInt(present);
dest.writeString(followcheckinlists);
dest.writeLong(timeofaction);
dest.writeInt(idofpost);
dest.writeString(actionuserprofile);
dest.writeInt(actionuserid);
dest.writeString(actionusername);
dest.writeString(usernameofpost);
dest.writeString(action);
dest.writeString(postimage);
dest.writeString(follow);
dest.writeString(FoodName);
dest.writeString(wherefrom);
dest.writeLong(time);
dest.writeInt(useridofpost);
}
}
Method used for getting response from server.
private void listdisp(String query, String locationname, String uname, int id) {
m.mShimmerViewContainer.startShimmer();
m.mShimmerViewContainer.setVisibility(View.VISIBLE);
StringRequest stringRequest = new StringRequest(Request.Method.POST, BuildConfig.LD,
new Response.Listener<String>() {
@Override
public void onResponse(String s) {
if (s != null && !s.isEmpty() && !s.equals("no results"))
{
Gson gson = new Gson();
m.dusers = gson.fromJson(s, new TypeToken<ArrayList<descusers>>() {}.getType());
FragmentActivity c = getActivity();
m.fpa = new followpostAdapter(c, m.dusers,m.user,m.s);
m.lists.setAdapter(m.fpa);
m.lists.setVisibility(View.VISIBLE);
// m.lists.setTextFilterEnabled(false);
// m.lists.setEmptyView(m.emptyElement);
m.mShimmerViewContainer.stopShimmer();
m.mShimmerViewContainer.setVisibility(View.GONE);
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getActivity(), error.getMessage(), Toast.LENGTH_LONG).show();
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new Hashtable<String, String>();
params.put("deskey", query);
params.put("uname",uname);
params.put("locationame",locationname);
params.put("userid",String.valueOf(id));
return params;
}
};
int socketTimeout = 60000;
RetryPolicy policy = new DefaultRetryPolicy(socketTimeout,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);
RequestQueue requestQueue = Volley.newRequestQueue(getActivity());
stringRequest.setRetryPolicy(policy);
requestQueue.add(stringRequest);
}
android gson android-gson
I have an json output like below.
[{"FoodName":"fish","image":"http://ckckc.com/images/60.png","loginname":"sss","time":"1525706184851","userid":"1","profile":"http://ckckc.com/profile/0.png","cuisine":"pomfret fry","wherefrom":"fish shop","locality":"xxx block ","random":"0869155d","id":"61","city":"","like":"0","follow":"profile"}]
I am getting this using StringRequest in Volley to get the response. Am using Gson library to parse and it was working fine. But suddenly i am getting the below error.
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 3 path $[0]
Am not sure whats went wrong. Gson code used to parseis mentioned below.
Gson gson = new Gson();
ArrayList<descusers> dusers = gson.fromJson(s, new TypeToken<ArrayList<descusers>>() {}.getType());
s is my response. I have cross checked all the values in the descusers and variables are matching. Please help.
Cleaned and Rebuild the project but no use. In error it mentioned as path.$[0] and i am not sure which objects it points.
My POJO class:
class descusers extends ArrayList<Parcelable> implements Parcelable {
String descCrip;
String loginname;
String image;
long Ptime;
String profile;
String Image;
String cuisine;
String where;
String locality;
int id;
String random;
String comment;
String reply;
double latitude,longitude;
int like;
int likecount;
int sharecount;
int commentid;
int commentcount;
int replycount;
int commentrepliesid;
int userid;
String city;
String username;
int present;
String followcheckinlists;
long timeofaction;
int idofpost;
String actionuserprofile;
int actionuserid;
String actionusername;
String usernameofpost;
String action;
String postimage;
String follow;
String FoodName;
String wherefrom;
long time;
int useridofpost;
public long getTime() {
return time;
}
public void setTime(long time) {
this.time = time;
}
public void setReplycount(int replycount) {
this.replycount = replycount;
}
public String getFoodName() {
return FoodName;
}
public void setFoodName(String foodName) {
FoodName = foodName;
}
protected descusers(Parcel in) {
descCrip = in.readString();
loginname = in.readString();
image = in.readString();
Ptime = in.readLong();
profile = in.readString();
Image = in.readString();
cuisine = in.readString();
where = in.readString();
locality = in.readString();
id = in.readInt();
random = in.readString();
comment = in.readString();
reply = in.readString();
city = in.readString();
latitude = in.readDouble();
longitude = in.readDouble();
like = in.readInt();
likecount = in.readInt();
sharecount = in.readInt();
commentid = in.readInt();
commentcount = in.readInt();
replycount = in.readInt();
commentrepliesid = in.readInt();
userid = in.readInt();
username = in.readString();
present = in.readInt();
followcheckinlists = in.readString();
timeofaction = in.readLong();
idofpost = in.readInt();
actionuserprofile = in.readString();
actionuserid = in.readInt();
actionusername = in.readString();
usernameofpost = in.readString();
action = in.readString();
postimage = in.readString();
follow = in.readString();
FoodName = in.readString();
wherefrom = in.readString();
time = in.readLong();
useridofpost = in.readInt();
}
public static final Creator<descusers> CREATOR = new Creator<descusers>() {
@Override
public descusers createFromParcel(Parcel in) {
return new descusers(in);
}
@Override
public descusers newArray(int size) {
return new descusers[size];
}
};
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public void setPtime(long ptime) {
Ptime = ptime;
}
public void setProfile(String profile) {
this.profile = profile;
}
public String getProfile() {
return profile;
}
public int getCommentrepliesid() {
return commentrepliesid;
}
public descusers() {
}
public String getRandom() {
return random;
}
public void setRandom(String random) {
this.random = random;
}
public String getLoginname() {
return loginname;
}
public String getComment() {
return comment;
}
public String getDescCrip() {
return descCrip;
}
public void setDescCrip(String descCrip) {
this.descCrip = descCrip;
}
public int getCommentid() {
return commentid;
}
public void setCommentcount(int commentcount) {
this.commentcount = commentcount;
}
public int getCommentcount() {
return commentcount;
}
public void setSharecount(int sharecount) {
this.sharecount = sharecount;
}
public void setCity(String city) {
this.city = city;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public String getCity() {
return city;
}
public double getLatitude() {
return latitude;
}
public double getLongitude() {
return longitude;
}
public void setLongitude(double longitude) {
this.longitude = longitude;
}
public String getReply() {
return reply;
}
public String getName(){
return loginname;
}
public String getCuisine() {
return cuisine;
}
public String getWhere() {
return where;
}
public void setLoginname(String loginname) {
this.loginname = loginname;
}
public String getLocality() {
return locality;
}
public String getimage() {
return image;
}
public void setimage(String image) {
this.image = image;
}
public void setId(int id) {
this.id = id;
}
public int getLikecount() {
return likecount;
}
public int getId() {
return id;
}
public void setLikecount(int likecount) {
this.likecount = likecount;
}
public void setLike(int like) {
this.like = like;
}
public void setCuisine(String cuisine) {
this.cuisine = cuisine;
}
public void setWhere(String where) {
this.where = where;
}
public void setLocality(String locality) {
this.locality = locality;
}
public int getLike() { return like; }
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public long getPtime() {
return Ptime;
}
@Override
public int describeContents() {
return 0;
}
public int getPresent() {
return present;
}
public void setPresent(int present) {
this.present = present;
}
public String getFollowcheckinlists() {
return followcheckinlists;
}
public long getTimeofaction() {
return timeofaction;
}
public String getAction() {
return action;
}
public void setAction(String action) {
this.action = action;
}
public void setTimeofaction(long timeofaction) {
this.timeofaction = timeofaction;
}
public int getIdofpost() {
return idofpost;
}
public void setIdofpost(int idofpost) {
this.idofpost = idofpost;
}
public String getActionuserprofile() {
return actionuserprofile;
}
public void setActionuserprofile(String actionuserprofile) {
this.actionuserprofile = actionuserprofile;
}
public int getActionuserid() {
return actionuserid;
}
public void setActionuserid(int actionuserid) {
this.actionuserid = actionuserid;
}
public String getActionusername() {
return actionusername;
}
public void setActionusername(String actionusername) {
this.actionusername = actionusername;
}
public String getUsernameofpost() {
return usernameofpost;
}
public void setUsernameofpost(String usernameofpost) {
this.usernameofpost = usernameofpost;
}
public String getPostimage() {
return postimage;
}
public void setPostimage(String postimage) {
this.postimage = postimage;
}
public void setFollowcheckinlists(String followcheckinlists) {
this.followcheckinlists = followcheckinlists;
}
public String getFollow() {
return follow;
}
public void setFollow(String follow) {
this.follow = follow;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(descCrip);
dest.writeString(loginname);
dest.writeString(image);
dest.writeLong(Ptime);
dest.writeString(profile);
dest.writeString(Image);
dest.writeString(cuisine);
dest.writeString(where);
dest.writeString(locality);
dest.writeInt(id);
dest.writeString(random);
dest.writeString(comment);
dest.writeString(reply);
dest.writeString(city);
dest.writeDouble(latitude);
dest.writeDouble(longitude);
dest.writeInt(like);
dest.writeInt(likecount);
dest.writeInt(sharecount);
dest.writeInt(commentid);
dest.writeInt(commentcount);
dest.writeInt(replycount);
dest.writeInt(commentrepliesid);
dest.writeInt(userid);
dest.writeString(username);
dest.writeInt(present);
dest.writeString(followcheckinlists);
dest.writeLong(timeofaction);
dest.writeInt(idofpost);
dest.writeString(actionuserprofile);
dest.writeInt(actionuserid);
dest.writeString(actionusername);
dest.writeString(usernameofpost);
dest.writeString(action);
dest.writeString(postimage);
dest.writeString(follow);
dest.writeString(FoodName);
dest.writeString(wherefrom);
dest.writeLong(time);
dest.writeInt(useridofpost);
}
}
Method used for getting response from server.
private void listdisp(String query, String locationname, String uname, int id) {
m.mShimmerViewContainer.startShimmer();
m.mShimmerViewContainer.setVisibility(View.VISIBLE);
StringRequest stringRequest = new StringRequest(Request.Method.POST, BuildConfig.LD,
new Response.Listener<String>() {
@Override
public void onResponse(String s) {
if (s != null && !s.isEmpty() && !s.equals("no results"))
{
Gson gson = new Gson();
m.dusers = gson.fromJson(s, new TypeToken<ArrayList<descusers>>() {}.getType());
FragmentActivity c = getActivity();
m.fpa = new followpostAdapter(c, m.dusers,m.user,m.s);
m.lists.setAdapter(m.fpa);
m.lists.setVisibility(View.VISIBLE);
// m.lists.setTextFilterEnabled(false);
// m.lists.setEmptyView(m.emptyElement);
m.mShimmerViewContainer.stopShimmer();
m.mShimmerViewContainer.setVisibility(View.GONE);
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getActivity(), error.getMessage(), Toast.LENGTH_LONG).show();
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new Hashtable<String, String>();
params.put("deskey", query);
params.put("uname",uname);
params.put("locationame",locationname);
params.put("userid",String.valueOf(id));
return params;
}
};
int socketTimeout = 60000;
RetryPolicy policy = new DefaultRetryPolicy(socketTimeout,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);
RequestQueue requestQueue = Volley.newRequestQueue(getActivity());
stringRequest.setRetryPolicy(policy);
requestQueue.add(stringRequest);
}
android gson android-gson
android gson android-gson
edited Nov 20 at 8:22
asked Nov 20 at 8:07
user2269164
3001416
3001416
The error states that while you were expecting the Json to start with an array, it started with an object. If double check the received Json.
– Fred
Nov 20 at 8:12
It seems 'descusers' object is the problem.
– H. Ekici
Nov 20 at 8:14
Please post your pojo as well
– Akshay Paliwal
Nov 20 at 8:17
Posted POJO Classes and Volleymethod.
– user2269164
Nov 20 at 8:25
add a comment |
The error states that while you were expecting the Json to start with an array, it started with an object. If double check the received Json.
– Fred
Nov 20 at 8:12
It seems 'descusers' object is the problem.
– H. Ekici
Nov 20 at 8:14
Please post your pojo as well
– Akshay Paliwal
Nov 20 at 8:17
Posted POJO Classes and Volleymethod.
– user2269164
Nov 20 at 8:25
The error states that while you were expecting the Json to start with an array, it started with an object. If double check the received Json.
– Fred
Nov 20 at 8:12
The error states that while you were expecting the Json to start with an array, it started with an object. If double check the received Json.
– Fred
Nov 20 at 8:12
It seems 'descusers' object is the problem.
– H. Ekici
Nov 20 at 8:14
It seems 'descusers' object is the problem.
– H. Ekici
Nov 20 at 8:14
Please post your pojo as well
– Akshay Paliwal
Nov 20 at 8:17
Please post your pojo as well
– Akshay Paliwal
Nov 20 at 8:17
Posted POJO Classes and Volleymethod.
– user2269164
Nov 20 at 8:25
Posted POJO Classes and Volleymethod.
– user2269164
Nov 20 at 8:25
add a comment |
3 Answers
3
active
oldest
votes
Problem is not with your model class, issue is with your response you are expecting array to come from api but it is actually coming as object under which you will have array, can you show code to understand more about it ?
Please check my edit
– user2269164
Nov 20 at 8:25
Can you please add screenshot of your response you getting against your api call ?
– Taha wakeel
Nov 20 at 8:38
You can find it in my question.
– user2269164
Nov 20 at 8:52
add a comment |
Instead of Json String request try to do it with Json Array Request that will return you Json Array
edits made to the question.
– user2269164
Nov 20 at 8:25
tested with JsonArrayRequest but same issue.
– user2269164
Nov 20 at 9:20
add a comment |
The problem is with the POJO class. I have created a new class without extending or implementing any and able to extract the data using the Gson.
public class d {
String FoodName;
String image;
String cuisine;
String wherefrom;
String locality;
int id;
int userid;
int likecount;
int sharecount;
String loginname;
String random;
int commentcount;
String city;
double latitude;
double longitude;
String profile;
long time;
int like;
String follow;
public String getFoodName() {
return FoodName;
}
public void setFoodName(String foodName) {
FoodName = foodName;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public String getCuisine() {
return cuisine;
}
public void setCuisine(String cuisine) {
this.cuisine = cuisine;
}
public String getWherefrom() {
return wherefrom;
}
public void setWherefrom(String wherefrom) {
this.wherefrom = wherefrom;
}
public String getLocality() {
return locality;
}
public void setLocality(String locality) {
this.locality = locality;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public int getLikecount() {
return likecount;
}
public void setLikecount(int likecount) {
this.likecount = likecount;
}
public int getSharecount() {
return sharecount;
}
public void setSharecount(int sharecount) {
this.sharecount = sharecount;
}
public String getLoginname() {
return loginname;
}
public void setLoginname(String loginname) {
this.loginname = loginname;
}
public String getRandom() {
return random;
}
public void setRandom(String random) {
this.random = random;
}
public int getCommentcount() {
return commentcount;
}
public void setCommentcount(int commentcount) {
this.commentcount = commentcount;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public double getLatitude() {
return latitude;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public double getLongitude() {
return longitude;
}
public void setLongitude(double longitude) {
this.longitude = longitude;
}
public String getProfile() {
return profile;
}
public void setProfile(String profile) {
this.profile = profile;
}
public long getTime() {
return time;
}
public void setTime(long time) {
this.time = time;
}
public int getLike() {
return like;
}
public void setLike(int like) {
this.like = like;
}
public String getFollow() {
return follow;
}
public void setFollow(String follow) {
this.follow = follow;
}
}
Gson gson = new Gson();
ArrayList<d> da= gson.fromJson(s, new TypeToken<ArrayList<d>>() {}.getType());
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53388649%2fcom-google-gson-jsonsyntaxexception-java-lang-illegalstateexception-expected-b%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
Problem is not with your model class, issue is with your response you are expecting array to come from api but it is actually coming as object under which you will have array, can you show code to understand more about it ?
Please check my edit
– user2269164
Nov 20 at 8:25
Can you please add screenshot of your response you getting against your api call ?
– Taha wakeel
Nov 20 at 8:38
You can find it in my question.
– user2269164
Nov 20 at 8:52
add a comment |
Problem is not with your model class, issue is with your response you are expecting array to come from api but it is actually coming as object under which you will have array, can you show code to understand more about it ?
Please check my edit
– user2269164
Nov 20 at 8:25
Can you please add screenshot of your response you getting against your api call ?
– Taha wakeel
Nov 20 at 8:38
You can find it in my question.
– user2269164
Nov 20 at 8:52
add a comment |
Problem is not with your model class, issue is with your response you are expecting array to come from api but it is actually coming as object under which you will have array, can you show code to understand more about it ?
Problem is not with your model class, issue is with your response you are expecting array to come from api but it is actually coming as object under which you will have array, can you show code to understand more about it ?
answered Nov 20 at 8:12
Taha wakeel
896
896
Please check my edit
– user2269164
Nov 20 at 8:25
Can you please add screenshot of your response you getting against your api call ?
– Taha wakeel
Nov 20 at 8:38
You can find it in my question.
– user2269164
Nov 20 at 8:52
add a comment |
Please check my edit
– user2269164
Nov 20 at 8:25
Can you please add screenshot of your response you getting against your api call ?
– Taha wakeel
Nov 20 at 8:38
You can find it in my question.
– user2269164
Nov 20 at 8:52
Please check my edit
– user2269164
Nov 20 at 8:25
Please check my edit
– user2269164
Nov 20 at 8:25
Can you please add screenshot of your response you getting against your api call ?
– Taha wakeel
Nov 20 at 8:38
Can you please add screenshot of your response you getting against your api call ?
– Taha wakeel
Nov 20 at 8:38
You can find it in my question.
– user2269164
Nov 20 at 8:52
You can find it in my question.
– user2269164
Nov 20 at 8:52
add a comment |
Instead of Json String request try to do it with Json Array Request that will return you Json Array
edits made to the question.
– user2269164
Nov 20 at 8:25
tested with JsonArrayRequest but same issue.
– user2269164
Nov 20 at 9:20
add a comment |
Instead of Json String request try to do it with Json Array Request that will return you Json Array
edits made to the question.
– user2269164
Nov 20 at 8:25
tested with JsonArrayRequest but same issue.
– user2269164
Nov 20 at 9:20
add a comment |
Instead of Json String request try to do it with Json Array Request that will return you Json Array
Instead of Json String request try to do it with Json Array Request that will return you Json Array
edited Nov 20 at 8:28
answered Nov 20 at 8:11
Rohit Sharma
466413
466413
edits made to the question.
– user2269164
Nov 20 at 8:25
tested with JsonArrayRequest but same issue.
– user2269164
Nov 20 at 9:20
add a comment |
edits made to the question.
– user2269164
Nov 20 at 8:25
tested with JsonArrayRequest but same issue.
– user2269164
Nov 20 at 9:20
edits made to the question.
– user2269164
Nov 20 at 8:25
edits made to the question.
– user2269164
Nov 20 at 8:25
tested with JsonArrayRequest but same issue.
– user2269164
Nov 20 at 9:20
tested with JsonArrayRequest but same issue.
– user2269164
Nov 20 at 9:20
add a comment |
The problem is with the POJO class. I have created a new class without extending or implementing any and able to extract the data using the Gson.
public class d {
String FoodName;
String image;
String cuisine;
String wherefrom;
String locality;
int id;
int userid;
int likecount;
int sharecount;
String loginname;
String random;
int commentcount;
String city;
double latitude;
double longitude;
String profile;
long time;
int like;
String follow;
public String getFoodName() {
return FoodName;
}
public void setFoodName(String foodName) {
FoodName = foodName;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public String getCuisine() {
return cuisine;
}
public void setCuisine(String cuisine) {
this.cuisine = cuisine;
}
public String getWherefrom() {
return wherefrom;
}
public void setWherefrom(String wherefrom) {
this.wherefrom = wherefrom;
}
public String getLocality() {
return locality;
}
public void setLocality(String locality) {
this.locality = locality;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public int getLikecount() {
return likecount;
}
public void setLikecount(int likecount) {
this.likecount = likecount;
}
public int getSharecount() {
return sharecount;
}
public void setSharecount(int sharecount) {
this.sharecount = sharecount;
}
public String getLoginname() {
return loginname;
}
public void setLoginname(String loginname) {
this.loginname = loginname;
}
public String getRandom() {
return random;
}
public void setRandom(String random) {
this.random = random;
}
public int getCommentcount() {
return commentcount;
}
public void setCommentcount(int commentcount) {
this.commentcount = commentcount;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public double getLatitude() {
return latitude;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public double getLongitude() {
return longitude;
}
public void setLongitude(double longitude) {
this.longitude = longitude;
}
public String getProfile() {
return profile;
}
public void setProfile(String profile) {
this.profile = profile;
}
public long getTime() {
return time;
}
public void setTime(long time) {
this.time = time;
}
public int getLike() {
return like;
}
public void setLike(int like) {
this.like = like;
}
public String getFollow() {
return follow;
}
public void setFollow(String follow) {
this.follow = follow;
}
}
Gson gson = new Gson();
ArrayList<d> da= gson.fromJson(s, new TypeToken<ArrayList<d>>() {}.getType());
add a comment |
The problem is with the POJO class. I have created a new class without extending or implementing any and able to extract the data using the Gson.
public class d {
String FoodName;
String image;
String cuisine;
String wherefrom;
String locality;
int id;
int userid;
int likecount;
int sharecount;
String loginname;
String random;
int commentcount;
String city;
double latitude;
double longitude;
String profile;
long time;
int like;
String follow;
public String getFoodName() {
return FoodName;
}
public void setFoodName(String foodName) {
FoodName = foodName;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public String getCuisine() {
return cuisine;
}
public void setCuisine(String cuisine) {
this.cuisine = cuisine;
}
public String getWherefrom() {
return wherefrom;
}
public void setWherefrom(String wherefrom) {
this.wherefrom = wherefrom;
}
public String getLocality() {
return locality;
}
public void setLocality(String locality) {
this.locality = locality;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public int getLikecount() {
return likecount;
}
public void setLikecount(int likecount) {
this.likecount = likecount;
}
public int getSharecount() {
return sharecount;
}
public void setSharecount(int sharecount) {
this.sharecount = sharecount;
}
public String getLoginname() {
return loginname;
}
public void setLoginname(String loginname) {
this.loginname = loginname;
}
public String getRandom() {
return random;
}
public void setRandom(String random) {
this.random = random;
}
public int getCommentcount() {
return commentcount;
}
public void setCommentcount(int commentcount) {
this.commentcount = commentcount;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public double getLatitude() {
return latitude;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public double getLongitude() {
return longitude;
}
public void setLongitude(double longitude) {
this.longitude = longitude;
}
public String getProfile() {
return profile;
}
public void setProfile(String profile) {
this.profile = profile;
}
public long getTime() {
return time;
}
public void setTime(long time) {
this.time = time;
}
public int getLike() {
return like;
}
public void setLike(int like) {
this.like = like;
}
public String getFollow() {
return follow;
}
public void setFollow(String follow) {
this.follow = follow;
}
}
Gson gson = new Gson();
ArrayList<d> da= gson.fromJson(s, new TypeToken<ArrayList<d>>() {}.getType());
add a comment |
The problem is with the POJO class. I have created a new class without extending or implementing any and able to extract the data using the Gson.
public class d {
String FoodName;
String image;
String cuisine;
String wherefrom;
String locality;
int id;
int userid;
int likecount;
int sharecount;
String loginname;
String random;
int commentcount;
String city;
double latitude;
double longitude;
String profile;
long time;
int like;
String follow;
public String getFoodName() {
return FoodName;
}
public void setFoodName(String foodName) {
FoodName = foodName;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public String getCuisine() {
return cuisine;
}
public void setCuisine(String cuisine) {
this.cuisine = cuisine;
}
public String getWherefrom() {
return wherefrom;
}
public void setWherefrom(String wherefrom) {
this.wherefrom = wherefrom;
}
public String getLocality() {
return locality;
}
public void setLocality(String locality) {
this.locality = locality;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public int getLikecount() {
return likecount;
}
public void setLikecount(int likecount) {
this.likecount = likecount;
}
public int getSharecount() {
return sharecount;
}
public void setSharecount(int sharecount) {
this.sharecount = sharecount;
}
public String getLoginname() {
return loginname;
}
public void setLoginname(String loginname) {
this.loginname = loginname;
}
public String getRandom() {
return random;
}
public void setRandom(String random) {
this.random = random;
}
public int getCommentcount() {
return commentcount;
}
public void setCommentcount(int commentcount) {
this.commentcount = commentcount;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public double getLatitude() {
return latitude;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public double getLongitude() {
return longitude;
}
public void setLongitude(double longitude) {
this.longitude = longitude;
}
public String getProfile() {
return profile;
}
public void setProfile(String profile) {
this.profile = profile;
}
public long getTime() {
return time;
}
public void setTime(long time) {
this.time = time;
}
public int getLike() {
return like;
}
public void setLike(int like) {
this.like = like;
}
public String getFollow() {
return follow;
}
public void setFollow(String follow) {
this.follow = follow;
}
}
Gson gson = new Gson();
ArrayList<d> da= gson.fromJson(s, new TypeToken<ArrayList<d>>() {}.getType());
The problem is with the POJO class. I have created a new class without extending or implementing any and able to extract the data using the Gson.
public class d {
String FoodName;
String image;
String cuisine;
String wherefrom;
String locality;
int id;
int userid;
int likecount;
int sharecount;
String loginname;
String random;
int commentcount;
String city;
double latitude;
double longitude;
String profile;
long time;
int like;
String follow;
public String getFoodName() {
return FoodName;
}
public void setFoodName(String foodName) {
FoodName = foodName;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public String getCuisine() {
return cuisine;
}
public void setCuisine(String cuisine) {
this.cuisine = cuisine;
}
public String getWherefrom() {
return wherefrom;
}
public void setWherefrom(String wherefrom) {
this.wherefrom = wherefrom;
}
public String getLocality() {
return locality;
}
public void setLocality(String locality) {
this.locality = locality;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public int getLikecount() {
return likecount;
}
public void setLikecount(int likecount) {
this.likecount = likecount;
}
public int getSharecount() {
return sharecount;
}
public void setSharecount(int sharecount) {
this.sharecount = sharecount;
}
public String getLoginname() {
return loginname;
}
public void setLoginname(String loginname) {
this.loginname = loginname;
}
public String getRandom() {
return random;
}
public void setRandom(String random) {
this.random = random;
}
public int getCommentcount() {
return commentcount;
}
public void setCommentcount(int commentcount) {
this.commentcount = commentcount;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public double getLatitude() {
return latitude;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public double getLongitude() {
return longitude;
}
public void setLongitude(double longitude) {
this.longitude = longitude;
}
public String getProfile() {
return profile;
}
public void setProfile(String profile) {
this.profile = profile;
}
public long getTime() {
return time;
}
public void setTime(long time) {
this.time = time;
}
public int getLike() {
return like;
}
public void setLike(int like) {
this.like = like;
}
public String getFollow() {
return follow;
}
public void setFollow(String follow) {
this.follow = follow;
}
}
Gson gson = new Gson();
ArrayList<d> da= gson.fromJson(s, new TypeToken<ArrayList<d>>() {}.getType());
answered Nov 21 at 6:32
user2269164
3001416
3001416
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53388649%2fcom-google-gson-jsonsyntaxexception-java-lang-illegalstateexception-expected-b%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
The error states that while you were expecting the Json to start with an array, it started with an object. If double check the received Json.
– Fred
Nov 20 at 8:12
It seems 'descusers' object is the problem.
– H. Ekici
Nov 20 at 8:14
Please post your pojo as well
– Akshay Paliwal
Nov 20 at 8:17
Posted POJO Classes and Volleymethod.
– user2269164
Nov 20 at 8:25