我正在使用gson来解析json响应。虽然一切都运行良好。当需要从单例类对象获取数据时,我坚持这种情况。
我的单身人士课程如下:
公共类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库进行网络操作。
下面是使用gson
解析json的代码Gson gson = new Gson();
ReadingTest[] readingTest = gson.fromJson(responseData,ReadingTest[].class);
responseData: - 是我从服务器获取的json响应。
我可以看到ReadingTest对象中的所有内容,但不知道如何从此对象中提取值。任何帮助将不胜感激。
谢谢
答案 0 :(得分:1)
您可以使用以下位置从任何对象的数组中提取内容:
readingTest[position].<requestedValueGetMethod>();
例如,如果你想获得测试字符串,你将使用getTest()
方法得到它:
readingTest[position].getTest();
所有其他属性都可以类似的方式使用。