使用Json和Retrofit获得首个和最后一个结果

时间:2018-07-19 14:28:52

标签: java android json retrofit

如何仅从Api获取2个项目。如果是第一个和最后一个。 我想得到这样的第一件事和最后一件事: 01〜05

"capitulos":{  
            "dados":[  
               {  
                  "id":"169461",
                  "capitulo":"01"
               },

               {
                  "id":"16942",
                  "capitulo":"02"
               },
      
               {
                  "id":"169463",
                  "capitulo":"03"
               },

               {
                  "id":"169464",
                  "capitulo":"04"
               },
     
               {
                  "id":"169465",
                  "capitulo":"05"
               },
              ] 
             },

1 个答案:

答案 0 :(得分:1)

您可以使用GSONJSON字符串转换为Object,然后采用如下所示的第一个和最后一个元素:

static void printFirstAndLastCapitulo(Capitulos obj) {
      System.out.println("Capitulo of first result is " + obj.dados[0].capitulo); 
      System.out.println("Capitulo of last result is " + obj.dados[obj.dados.length-1].capitulo); 
    }

这只是为了给您一个想法,但是所有尺寸验证等都需要注意。

完整代码:

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import com.google.gson.Gson;

public class Test {

    public static void main(String[] args) {
        String data = "{\"dados\":[{\"id\":\"169461\",\"capitulo\":\"01\"},{\"id\":\"16942\",\"capitulo\":\"02\"},{\"id\":\"169463\",\"capitulo\":\"03\"},{\"id\":\"169464\",\"capitulo\":\"04\"},{\"id\":\"169465\",\"capitulo\":\"05\"}]}";

        Capitulos jsonObject = new Gson().fromJson(data, Capitulos.class);
        printFirstAndLastCapitulo(jsonObject);
    }

    static void printFirstAndLastCapitulo(Capitulos obj) {
        System.out.println("Capitulo of first result is " + obj.dados[0].capitulo);
        System.out.println("Capitulo of last result is " + obj.dados[obj.dados.length - 1].capitulo);
    }

    static class JsonClass {
        private Capitulos capitulos;

        public Capitulos getCapitulos() {
            return capitulos;
        }

        public void setCapitulos(Capitulos capitulos) {
            this.capitulos = capitulos;
        }

        @Override
        public String toString() {
            return "ClassPojo [capitulos = " + capitulos + "]";
        }
    }

    static class Capitulos {
        private Dados[] dados;

        public Dados[] getDados() {
            return dados;
        }

        public void setDados(Dados[] dados) {
            this.dados = dados;
        }

        @Override
        public String toString() {
            return "ClassPojo [dados = " + dados + "]";
        }
    }

    static class Dados {
        private String id;

        private String capitulo;

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        public String getCapitulo() {
            return capitulo;
        }

        public void setCapitulo(String capitulo) {
            this.capitulo = capitulo;
        }

        @Override
        public String toString() {
            return "ClassPojo [id = " + id + ", capitulo = " + capitulo + "]";
        }
    }
}