Я использую gson для анализа ответа json. Хотя все работает нормально. Я придерживался ситуации, когда нужно получить данные из объекта класса singleton.Извлечение значений из объекта класса Singleton с использованием Gson
Мой Singleton класс ниже:
общественного класса ReadingTest {
public List<QuestionBean> Question;
public static List<ReadingTest> arrayReadingTestFromData(String str, String key) {
try {
JSONObject jsonObject = new JSONObject(str);
Type listType = new TypeToken<ArrayList<ReadingTest>>() {
}.getType();
return new Gson().fromJson(jsonObject.getString(str), listType);
} catch (JSONException e) {
e.printStackTrace();
}
return new ArrayList();
}
public String getTest() {
return Test;
}
public void setTest(String Test) {
this.Test = Test;
}
public String getTestfile() {
return Testfile;
}
public void setTestfile(String Testfile) {
this.Testfile = Testfile;
}
public String getQuestionGroupFile() {
return QuestionGroupFile;
}
public void setQuestionGroupFile(String QuestionGroupFile) {
this.QuestionGroupFile = QuestionGroupFile;
}
public int getPassageId() {
return PassageId;
}
public void setPassageId(int PassageId) {
this.PassageId = PassageId;
}
public String getPassages() {
return Passages;
}
public void setPassages(String Passages) {
this.Passages = Passages;
}
public int getPassageTime() {
return PassageTime;
}
public void setPassageTime(int PassageTime) {
this.PassageTime = PassageTime;
}
public String getPassageHeading() {
return PassageHeading;
}
public void setPassageHeading(String PassageHeading) {
this.PassageHeading = PassageHeading;
}
public String getPassageInstruction() {
return PassageInstruction;
}
public void setPassageInstruction(String PassageInstruction) {
this.PassageInstruction = PassageInstruction;
}
public String getPassageTopic() {
return PassageTopic;
}
public void setPassageTopic(String PassageTopic) {
this.PassageTopic = PassageTopic;
}
public int getParagraphId() {
return ParagraphId;
}
public void setParagraphId(int ParagraphId) {
this.ParagraphId = ParagraphId;
}
public String getParagraphName() {
return ParagraphName;
}
public void setParagraphName(String ParagraphName) {
this.ParagraphName = ParagraphName;
}
public String getParagraphs() {
return Paragraphs;
}
public void setParagraphs(String Paragraphs) {
this.Paragraphs = Paragraphs;
}
public int getQuestionGroupId() {
return QuestionGroupId;
}
public void setQuestionGroupId(int QuestionGroupId) {
this.QuestionGroupId = QuestionGroupId;
}
public String getQuestionGroup() {
return QuestionGroup;
}
public void setQuestionGroup(String QuestionGroup) {
this.QuestionGroup = QuestionGroup;
}
public String getExample() {
return Example;
}
public void setExample(String Example) {
this.Example = Example;
}
public String getInstruction() {
return Instruction;
}
public void setInstruction(String Instruction) {
this.Instruction = Instruction;
}
public int getQuestionTypeId() {
return QuestionTypeId;
}
public void setQuestionTypeId(int QuestionTypeId) {
this.QuestionTypeId = QuestionTypeId;
}
public String getQuestionType() {
return QuestionType;
}
public void setQuestionType(String QuestionType) {
this.QuestionType = QuestionType;
}
public String getParagraph() {
return Paragraph;
}
public void setParagraph(String Paragraph) {
this.Paragraph = Paragraph;
}
public List<QuestionBean> getQuestion() {
return Question;
}
public void setQuestion(List<QuestionBean> Question) {
this.Question = Question;
}
public static class QuestionBean {
public int QuestionOptionId;
public String ListeningFile;
public Object ListeningStartTime;
public int QuestionId;
public String Questions;
public String QuestionNo;
public int QuestionOptionNo;
public int QuestionGroupId;
public int QuestionTypeId;
public String answer;
public boolean NextLine;
public String studentanswer;
public String ParagraphQuestion;
public String Answershow;
public boolean OptionList;
public String Questionanswer;
public String Remarks;
/**
* QuestionOptionId : 9858
* QuestionOption : Not all doctors are persuaded
* QuestionId : 291
* QuestionOptionNo : i
* Answer : null
* questionanswer : false
*/
public List<OptionsBean> Options;
public static List<QuestionBean> arrayQuestionBeanFromData(String str, String key) {
try {
JSONObject jsonObject = new JSONObject(str);
Type listType = new TypeToken<ArrayList<QuestionBean>>() {
}.getType();
return new Gson().fromJson(jsonObject.getString(str), listType);
} catch (JSONException e) {
e.printStackTrace();
}
return new ArrayList();
}
public int getQuestionOptionId() {
return QuestionOptionId;
}
public void setQuestionOptionId(int QuestionOptionId) {
this.QuestionOptionId = QuestionOptionId;
}
public String getListeningFile() {
return ListeningFile;
}
public void setListeningFile(String ListeningFile) {
this.ListeningFile = ListeningFile;
}
public Object getListeningStartTime() {
return ListeningStartTime;
}
public void setListeningStartTime(Object ListeningStartTime) {
this.ListeningStartTime = ListeningStartTime;
}
public int getQuestionId() {
return QuestionId;
}
public void setQuestionId(int QuestionId) {
this.QuestionId = QuestionId;
}
public String getQuestions() {
return Questions;
}
public void setQuestions(String Questions) {
this.Questions = Questions;
}
public String getQuestionNo() {
return QuestionNo;
}
public void setQuestionNo(String QuestionNo) {
this.QuestionNo = QuestionNo;
}
public int getQuestionOptionNo() {
return QuestionOptionNo;
}
public void setQuestionOptionNo(int QuestionOptionNo) {
this.QuestionOptionNo = QuestionOptionNo;
}
public int getQuestionGroupId() {
return QuestionGroupId;
}
public void setQuestionGroupId(int QuestionGroupId) {
this.QuestionGroupId = QuestionGroupId;
}
public int getQuestionTypeId() {
return QuestionTypeId;
}
public void setQuestionTypeId(int QuestionTypeId) {
this.QuestionTypeId = QuestionTypeId;
}
public String getAnswer() {
return answer;
}
public void setAnswer(String answer) {
this.answer = answer;
}
public boolean isNextLine() {
return NextLine;
}
public void setNextLine(boolean NextLine) {
this.NextLine = NextLine;
}
public String getStudentanswer() {
return studentanswer;
}
public void setStudentanswer(String studentanswer) {
this.studentanswer = studentanswer;
}
public String getParagraphQuestion() {
return ParagraphQuestion;
}
public void setParagraphQuestion(String ParagraphQuestion) {
this.ParagraphQuestion = ParagraphQuestion;
}
public String getAnswershow() {
return Answershow;
}
public void setAnswershow(String Answershow) {
this.Answershow = Answershow;
}
public boolean isOptionList() {
return OptionList;
}
public void setOptionList(boolean OptionList) {
this.OptionList = OptionList;
}
public String getQuestionanswer() {
return Questionanswer;
}
public void setQuestionanswer(String Questionanswer) {
this.Questionanswer = Questionanswer;
}
public String getRemarks() {
return Remarks;
}
public void setRemarks(String Remarks) {
this.Remarks = Remarks;
}
public List<OptionsBean> getOptions() {
return Options;
}
public void setOptions(List<OptionsBean> Options) {
this.Options = Options;
}
public static class OptionsBean {
public int QuestionOptionId;
public String QuestionOption;
public int QuestionId;
public String QuestionOptionNo;
public Object Answer;
public String questionanswer;
public static List<OptionsBean> arrayOptionsBeanFromData(String str, String key) {
try {
JSONObject jsonObject = new JSONObject(str);
Type listType = new TypeToken<ArrayList<OptionsBean>>() {
}.getType();
return new Gson().fromJson(jsonObject.getString(str), listType);
} catch (JSONException e) {
e.printStackTrace();
}
return new ArrayList();
}
public int getQuestionOptionId() {
return QuestionOptionId;
}
public void setQuestionOptionId(int QuestionOptionId) {
this.QuestionOptionId = QuestionOptionId;
}
public String getQuestionOption() {
return QuestionOption;
}
public void setQuestionOption(String QuestionOption) {
this.QuestionOption = QuestionOption;
}
public int getQuestionId() {
return QuestionId;
}
public void setQuestionId(int QuestionId) {
this.QuestionId = QuestionId;
}
public String getQuestionOptionNo() {
return QuestionOptionNo;
}
public void setQuestionOptionNo(String QuestionOptionNo) {
this.QuestionOptionNo = QuestionOptionNo;
}
public Object getAnswer() {
return Answer;
}
public void setAnswer(Object Answer) {
this.Answer = Answer;
}
public String getQuestionanswer() {
return questionanswer;
}
public void setQuestionanswer(String questionanswer) {
this.questionanswer = questionanswer;
}
}
}
}
Я использовал библиотеку Okhttp для работы в сети.
Ниже приведен код для разбора JSON с gson
Gson gson = new Gson();
ReadingTest[] readingTest = gson.fromJson(responseData,ReadingTest[].class);
responseData: - это JSON ответ я получаю от сервера.
Я вижу все в объекте ReadingTest, но не знаю, как извлечь значения из этого объекта. Любая помощь будет оценена по достоинству.
Спасибо
большое спасибо Anjali ..... пробовал этот способ, и он отлично работает. –