2016-09-16 2 views
0

Я использую 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, но не знаю, как извлечь значения из этого объекта. Любая помощь будет оценена по достоинству.

Спасибо

ответ

1

Вы можете извлечь содержимое из массива любого объекта, используя там позицию так:

readingTest[position].<requestedValueGetMethod>(); 

, например, если хотите, чтобы получить тестовую строку, вы получите его с помощью getTest() метода, как это :

readingTest[position].getTest(); 

Все атрибуты ther могут использоваться аналогичным образом.

+0

большое спасибо Anjali ..... пробовал этот способ, и он отлично работает. –

Смежные вопросы