应在指定的textview中打印json数据

时间:2017-02-28 10:46:36

标签: java android

我有关于学生详细信息的json数据,我想在各自的文本视图中打印。我是json服务的新手,请帮我在屏幕上打印这些数据。我使用getter和setter进行主题分数,所以我想进一步动态使用它们。

这是我的json数据

 {
   "studentInfo": {
   "studentName": "srini@gmail.com",
   "studentId": "abc",
   "date": 14102017,
   "JanuaryScoreCard" : {
              "english" : "44",
              "Science" : "45",
              "maths": "66",
              "social" : "56",
              "hindi" : "67",
              "kannada" : "78",
  },
    "MarchScoreCard" : {
                  " english " : "54",
                  " Science " : "56",
                  " maths ": "70",
                  " social " : "87",
                  " hindi " : "98",
                  " kannada " : "56"
 },
   "comments" : ""
}

我要打印但不能打印,我不会在哪里出错

public void init()
{
    try {
        parseJSON();
    } catch (JSONException e)
    {
        e.printStackTrace();
    }

}

public void parseJSON() throws JSONException{

    jsonObject = new JSONObject(strJson);
    JSONObject object = jsonObject.getJSONObject("studentInfo");
    patientName = object.getString("studentName");
    patientID  = object.getString("studentId");
    mName.setText(studentName);
    mUserId.setText(studentId);
}

3 个答案:

答案 0 :(得分:0)

这是一个基本的JSON解析过程

public void parseJson() {
        String your_response = "replace this with your response";
        try {
            JSONObject jsonObject = new JSONObject(your_response);
            JSONObject studentInfoJsonObject = jsonObject.getJSONObject("studentInfo");
            StudentInfo studentInfo1 = new StudentInfo();
            studentInfo1.setStudentName(studentInfoJsonObject.optString("studentName"));
            studentInfo1.setStudentId(studentInfoJsonObject.optString("studentId"));
            studentInfo1.setDate(studentInfoJsonObject.optString("date"));
            studentInfo1.setComments(studentInfoJsonObject.optString("comments"));
            JSONObject januaryScoreCardJsonObject = studentInfoJsonObject.optJSONObject("JanuaryScoreCard");
            JanuaryScoreCard januaryScoreCard1 = new JanuaryScoreCard();
            januaryScoreCard1.setEnglish(januaryScoreCardJsonObject.optString("english"));
            januaryScoreCard1.setHindi(januaryScoreCardJsonObject.optString("hindi"));
            januaryScoreCard1.setMaths(januaryScoreCardJsonObject.optString("maths"));
            januaryScoreCard1.setSocial(januaryScoreCardJsonObject.optString("social"));
            januaryScoreCard1.setKannada(januaryScoreCardJsonObject.optString("kannada"));
            januaryScoreCard1.setScience(januaryScoreCardJsonObject.optString("Science"));

            JSONObject marchScoreCardJsonObject = studentInfoJsonObject.optJSONObject("JanuaryScoreCard");
            MarchScoreCard marchScoreCard = new MarchScoreCard();
            marchScoreCard.setEnglish(marchScoreCardJsonObject.optString("english"));
            marchScoreCard.setHindi(marchScoreCardJsonObject.optString("hindi"));
            marchScoreCard.setMaths(marchScoreCardJsonObject.optString("maths"));
            marchScoreCard.setSocial(marchScoreCardJsonObject.optString("social"));
            marchScoreCard.setKannada(marchScoreCardJsonObject.optString("kannada"));
            marchScoreCard.setScience(marchScoreCardJsonObject.optString("Science"));

            studentInfo1.setJanuaryScoreCard(januaryScoreCard1);
            studentInfo1.setMarchScoreCard(marchScoreCard);

        } catch (JSONException e) {
            e.printStackTrace();
        }

    }

学生资讯课

public class StudentInfo {
    private String studentName;
    private String studentId;
    private String date;
    private String comments;
    private JanuaryScoreCard januaryScoreCard;
    private MarchScoreCard marchScoreCard;

    public JanuaryScoreCard getJanuaryScoreCard() {
        return januaryScoreCard;
    }

    public void setJanuaryScoreCard(JanuaryScoreCard januaryScoreCard) {
        this.januaryScoreCard = januaryScoreCard;
    }

    public MarchScoreCard getMarchScoreCard() {
        return marchScoreCard;
    }

    public void setMarchScoreCard(MarchScoreCard marchScoreCard) {
        this.marchScoreCard = marchScoreCard;
    }

    public String getStudentName() {
        return studentName;
    }

    public void setStudentName(String studentName) {
        this.studentName = studentName;
    }

    public String getStudentId() {
        return studentId;
    }

    public void setStudentId(String studentId) {
        this.studentId = studentId;
    }

    public String getDate() {
        return date;
    }

    public void setDate(String date) {
        this.date = date;
    }

    public String getComments() {
        return comments;
    }

    public void setComments(String comments) {
        this.comments = comments;
    }
}

这是1月级

public class JanuaryScoreCard {
    private String english;
    private String Science;
    private String maths;
    private String kannada;
    private String social;
    private String hindi;

    public String getEnglish() {
        return english;
    }

    public void setEnglish(String english) {
        this.english = english;
    }

    public String getScience() {
        return Science;
    }

    public void setScience(String science) {
        Science = science;
    }

    public String getMaths() {
        return maths;
    }

    public void setMaths(String maths) {
        this.maths = maths;
    }

    public String getKannada() {
        return kannada;
    }

    public void setKannada(String kannada) {
        this.kannada = kannada;
    }

    public String getSocial() {
        return social;
    }

    public void setSocial(String social) {
        this.social = social;
    }

    public String getHindi() {
        return hindi;
    }

    public void setHindi(String hindi) {
        this.hindi = hindi;
    }
}

以下是March Class

public class MarchScoreCard{
    private String english;
    private String Science;
    private String maths;
    private String kannada;
    private String social;
    private String hindi;

    public String getEnglish() {
        return english;
    }

    public void setEnglish(String english) {
        this.english = english;
    }

    public String getScience() {
        return Science;
    }

    public void setScience(String science) {
        Science = science;
    }

    public String getMaths() {
        return maths;
    }

    public void setMaths(String maths) {
        this.maths = maths;
    }

    public String getKannada() {
        return kannada;
    }

    public void setKannada(String kannada) {
        this.kannada = kannada;
    }

    public String getSocial() {
        return social;
    }

    public void setSocial(String social) {
        this.social = social;
    }

    public String getHindi() {
        return hindi;
    }

    public void setHindi(String hindi) {
        this.hindi = hindi;
    }
}

答案 1 :(得分:0)

您可以使用JSON解析器,然后您可以打印您想要的任何数据, 使用GSON,这是一个示例https://www.javacodegeeks.com/2011/01/android-json-parsing-gson-tutorial.html

答案 2 :(得分:0)

您需要解析此json数据,为此您需要创建适当的bean类并在将json解析为此bean类对象时放入数据并创建List。

然后,您需要创建ListViewAdapter,以便将数据填充到屏幕或活动中。