如何在翻新中将回调用于多个json数组? [英] How to use callback for multiple json array in retrofit?

查看:137
本文介绍了如何在翻新中将回调用于多个json数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试改进如何从响应以下获取数据

I am trying retrofit how to get data from below response

{
  "schedule_students": [
    {
      "id": "753",
      "sch_id": "153"
    },
    {
      "id": "765",
      "sch_id": "153"
    }
  ],
  "s_students": [
    {
      "id": "753",
      "s_id": "153"
    },
    {
      "id": "765",
      "s_id": "153"
    }
  ],
  "schedu": [
    {
      "id": "753",
      "ch_id": "153"
    },
    {
      "id": "765",
      "ch_id": "153"
    }
  ],
  "delids": "no",
  "expdelids": "no",
  "lastsyncdate": "2015-06-01 10:33:19"
}

在我的API响应中,它具有多个JSON数组.如何从此响应中检索所有数据

In my API response It's having multiple JSON array. How to retrieve all data from this response

推荐答案

创建POJO( P lain O ld J ava O 对象). 使用此工具生成POJO.

Create POJOs (Plain Old Java Objects) for the JSON data sets. Use this tool to generate POJOs.

SStudent.class

package com.example.someapp;

import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

package com.example.someapp;

import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

public class SStudent {

    @Expose
    private String id;
    @SerializedName("s_id")
    @Expose
    private String sId;

    /**
    * 
    * @return
    * The id
    */
    public String getId() {
    return id;
    }

    /**
    * 
    * @param id
    * The id
    */
    public void setId(String id) {
    this.id = id;
    }

    /**
    * 
    * @return
    * The sId
    */
    public String getSId() {
    return sId;
    }

    /**
    * 
    * @param sId
    * The s_id
    */
    public void setSId(String sId) {
    this.sId = sId;
    } 
}

类似地,Other为其他类生成.

Similarly, Other generate for other classes.

最后

SomeClass.java

package com.example.someapp;

import java.util.ArrayList;
import java.util.List;
import javax.annotation.Generated;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

public class SomeClass {

    @SerializedName("schedule_students")
    @Expose
    private List<ScheduleStudent> scheduleStudents = new ArrayList<ScheduleStudent>();
    @SerializedName("s_students")
    @Expose
    private List<SStudent> sStudents = new ArrayList<SStudent>();
    @Expose
    private List<Schedu> schedu = new ArrayList<Schedu>();
    @Expose
    private String delids;
    @Expose
    private String expdelids;
    @Expose
    private String lastsyncdate;

    /**
    * 
    * @return
    * The scheduleStudents
    */
    public List<ScheduleStudent> getScheduleStudents() {
    return scheduleStudents;
    }

    /**
    * 
    * @param scheduleStudents
    * The schedule_students
    */
    public void setScheduleStudents(List<ScheduleStudent> scheduleStudents) {
    this.scheduleStudents = scheduleStudents;
    }

    /**
    * 
    * @return
    * The sStudents
    */
    public List<SStudent> getSStudents() {
    return sStudents;
    }

    /**
    * 
    * @param sStudents
    * The s_students
    */
    public void setSStudents(List<SStudent> sStudents) {
    this.sStudents = sStudents;
    }

    /**
    * 
    * @return
    * The schedu
    */
    public List<Schedu> getSchedu() {
    return schedu;
    }

    /**
    * 
    * @param schedu
    * The schedu
    */
    public void setSchedu(List<Schedu> schedu) {
    this.schedu = schedu;
    }

    /**
    * 
    * @return
    * The delids
    */
    public String getDelids() {
    return delids;
    }

    /**
    * 
    * @param delids
    * The delids
    */
    public void setDelids(String delids) {
    this.delids = delids;
    }

    /**
    * 
    * @return
    * The expdelids
    */
    public String getExpdelids() {
    return expdelids;
    }

    /**
    * 
    * @param expdelids
    * The expdelids
    */
    public void setExpdelids(String expdelids) {
    this.expdelids = expdelids;
    }

    /**
    * 
    * @return
    * The lastsyncdate
    */
    public String getLastsyncdate() {
    return lastsyncdate;
    }

    /**
    * 
    * @param lastsyncdate
    * The lastsyncdate
    */
    public void setLastsyncdate(String lastsyncdate) {
    this.lastsyncdate = lastsyncdate;
    }

}

像这样在Retrofit API接口中使用SomeClass.java.

Use the SomeClass.java in your Retrofit API interface like this.

 @GET("/your_api_endpoint")
 SomeClass getSomeClass(@Query("param") int param);

然后通常在调用getSomeClass(param)后将其作为SomeClass的对象进行访问.

Then access it normally as an object of SomeClass after calling getSomeClass(param).

这篇关于如何在翻新中将回调用于多个json数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆