Ich habe versucht, meine Daten von api wie dieseDatendownload von API error
private List<Question> downloadQuestion;
Call<Questions> questionCall = MainApi.createService(MainService.class).
getQuestionsByChapIdAndType("15", 2);
questionCall.enqueue(new Callback<Questions>() {
@Override
public void onResponse(Response<Questions> response, Retrofit retrofit) {
downloadQuestion.addAll(response.body().getQuestions());
Log.d("Size",":"+downloadQuestion.size());
}
@Override
public void onFailure(Throwable t) {
Log.d("Size",t.toString());
}
});
Aber diese zeigen diese Fehlermeldung
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 28 path $.questions
Helfen Sie mir zu lösen dieses Problem herunterzuladen. Das ist meine Frage.java.
public class Question {
@SerializedName("chapter_id")
private int chapter_id;
@SerializedName("question_type_id")
private int question_type_id;
@SerializedName("question")
private String question;
@SerializedName("hint1")
private String hint1;
@SerializedName("hint2")
private String hint2;
@SerializedName("hint3")
private String hint3;
@SerializedName("hint4")
private String hint4;
@SerializedName("answer")
private String answer;
@SerializedName("year")
private int year;
public String getQuestion() {
return question;
}
public String getHint1() {
return hint1;
}
public String getHint2() {
return hint2;
}
public String getHint3() {
return hint3;
}
public String getHint4() {
return hint4;
}
public String getAnswer() {
return answer;
}
public int getChapter_id() {
return chapter_id;
}
public int getQuestion_type_id() {
return question_type_id;
}
public int getYear() {
return year;
}
public Question(String question, String hint1, String hint2, String hint3, String hint4, String answer) {
this.question = question;
this.hint1 = hint1;
this.hint2 = hint2;
this.hint3 = hint3;
this.hint4 = hint4;
this.answer = answer;
}
}
und das ist meine Fragen.java.
public class Questions {
@SerializedName("questions")
private List<Question> questions;
public List<Question> getQuestions() {
return questions;
}
}
Dies ist mein MainApi.
@GET("questions/{chapter_id}/{question_type_id}")
Call<Questions> getQuestionsByChapIdAndType(@Path("chapter_id") String chapter_id, @Path("question_type_id") int question_type_id);
Ich weiß nicht, warum dies geschieht. bitte hilf mir. ich bin sehr neu zu android
Mögliche Duplikat [Gson Werfen "_object BEGIN \ Erwartet aber war \ _ARRAY BEGIN"?] (Http://stackoverflow.com/questions/9598707/gson-throwing-expected-begin-object-but- was-begin-array) – Robert