This is regarding the StackOverflow question http://stackoverflow.com/q/39232330/6737655
The request is being done, but the response data seems empty. I guess it's due to an empty string fetched. Am I wrong?
You have a list of Class in your model:
private List<Class> classes = new ArrayList<Class>();
This isn't supported by whichever serialization library you are using because you can't really serialize a class.
I am also receiving the same error when trying to POST some data.
Error: java.lang.UnsupportedOperationException: Attempted to serialize java.lang.Class: models.reviews.ResultInfo. Forgot to register a type adapter?
public class Reviews {
private String Description;
private boolean IsSuccess;
private ArrayList<ResultInfo> ResultInfo;
private int ErrorCode;
public String getDescription() {
return Description;
}
public void setDescription(String description) {
Description = description;
}
public boolean isSuccess() {
return IsSuccess;
}
public void setSuccess(boolean success) {
IsSuccess = success;
}
public ArrayList<models.reviews.ResultInfo> getResultInfo() {
return ResultInfo;
}
public void setResultInfo(ArrayList<models.reviews.ResultInfo> resultInfo) {
ResultInfo = resultInfo;
}
public int getErrorCode() {
return ErrorCode;
}
public void setErrorCode(int errorCode) {
ErrorCode = errorCode;
}
}
public class ResultInfo {
Class<?> c = this.getClass();
HashMap<String, Object> stringObjectHashMap = new HashMap<>();
private String VisitedOn;
private int ServiceScore;
private int FoodScore;
private int TotalScore;
private int AmbienceScore;
private String Email;
private int PartySize;
private int ValueScore;
private int SiteRatingCode;
private int SiteCode;
private String IPAddress;
private String FullName;
private String ReviewComments;
private boolean IsRecomend;
private int MemberCode;
private String ReviewDate;
private int VisitPurposeCode;
private String ReviewTitle;
public ResultInfo() {
stringObjectHashMap.put("VisitedOn", VisitedOn);
}
public int getAmbienceScore() {
return AmbienceScore;
}
public void setAmbienceScore(int ambienceScore) {
AmbienceScore = ambienceScore;
}
public String getVisitedOn() {
return VisitedOn;
}
public void setVisitedOn(String visitedOn) {
VisitedOn = visitedOn;
}
public int getServiceScore() {
return ServiceScore;
}
public void setServiceScore(int serviceScore) {
ServiceScore = serviceScore;
}
public int getFoodScore() {
return FoodScore;
}
public void setFoodScore(int foodScore) {
FoodScore = foodScore;
}
public int getTotalScore() {
return TotalScore;
}
public void setTotalScore(int totalScore) {
TotalScore = totalScore;
}
public String getEmail() {
return Email;
}
public void setEmail(String email) {
Email = email;
}
public int getPartySize() {
return PartySize;
}
public void setPartySize(int partySize) {
PartySize = partySize;
}
public int getValueScore() {
return ValueScore;
}
public void setValueScore(int valueScore) {
ValueScore = valueScore;
}
public int getSiteRatingCode() {
return SiteRatingCode;
}
public void setSiteRatingCode(int siteRatingCode) {
SiteRatingCode = siteRatingCode;
}
public int getSiteCode() {
return SiteCode;
}
public void setSiteCode(int siteCode) {
SiteCode = siteCode;
}
public String getIPAddress() {
return IPAddress;
}
public void setIPAddress(String IPAddress) {
this.IPAddress = IPAddress;
}
public String getFullName() {
return FullName;
}
public void setFullName(String fullName) {
FullName = fullName;
}
public String getReviewComments() {
return ReviewComments;
}
public void setReviewComments(String reviewComments) {
ReviewComments = reviewComments;
}
public boolean isRecomend() {
return IsRecomend;
}
public void setRecomend(boolean recomend) {
IsRecomend = recomend;
}
public int getMemberCode() {
return MemberCode;
}
public void setMemberCode(int memberCode) {
MemberCode = memberCode;
}
public String getReviewDate() {
return ReviewDate;
}
public void setReviewDate(String reviewDate) {
ReviewDate = reviewDate;
}
public int getVisitPurposeCode() {
return VisitPurposeCode;
}
public void setVisitPurposeCode(int visitPurposeCode) {
VisitPurposeCode = visitPurposeCode;
}
public String getReviewTitle() {
return ReviewTitle;
}
public void setReviewTitle(String reviewTitle) {
ReviewTitle = reviewTitle;
}
public void setData(String name, String value, int value2, boolean value3) {
L.e(name + " " + value + " " + value2 + " " + value3);
try {
Field chap = c.getDeclaredField(name);
if (value != null) {
chap.set(this, value);
} else if (value2 != 0) {
chap.set(this, value2);
} else {
chap.set(this, value3);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
You have a Class in your model:
Class<?> c = this.getClass();
This isn't supported by whichever serialization library you are using because you can't really serialize a class.
@nishantt12 as Jake told, you are using the word 'Class' in your model...generic words like Class, String, etc shouldn't be used like that... In my case, I had mistyped Classes as Class, which was the error..
@ JakeWharton thanx for clearing
@JakeWharton thanx for clearing
Most helpful comment
You have a
Classin your model:This isn't supported by whichever serialization library you are using because you can't really serialize a class.