Как обрабатывать сразу несколько объектов JSON с помощью java в Android Studio

#java #android #android-studio #android-recyclerview #android-volley

#java #Android #android-studio #android-recyclerview #android-volley

Вопрос:

Я сталкиваюсь с проблемой одновременной обработки более одного объекта (класса) JSON в адаптере Recycler с использованием Volley. Я попробовал два способа решения этой проблемы, но не смог получить вывод для моего представления Recycler.

1-й способ:- Я создал основной класс (родительский класс), в котором другой класс JSON расширяет основной класс, и, используя основной класс, я вызывал все подклассы один за другим, используя полиморфизм. например:-

Main.java

 public class Main{

}
  

Model1.java

 public class Model1 extends Main {

        @SerializedName("$t")
        @Expose
        private String $t;

        public String get$t() {
            return $t;
        }

        public void set$t(String $t) {
            this.$t = $t;
        }

    }
  

Model2.java

 public class Model2 extends Main {

       @SerializedName("$t")
       @Expose
       private String $t;

       public String get$t() {
           return $t;
       }

       public void set$t(String $t) {
           this.$t = $t;
       }
}

and during call I used
  

Основная ссылка;

((Model1) (ссылка)).получить $ t();

((Model2) (ссылка)).get $ t();

 But, Failed to get all value(Please correct if I am worng in code)

and 2nd way:- Just making all the model class as inner class(static) of the main class and calling using
  

Главная.Model1.get $ t();

 But did get output. Please suggest me any other way where I can use to get my expected output.
  

Ответ №1:

Вы имели в виду такой объект?

 {
  "Name": "xxxxx",
  "Age": 27,
  "Parents": [
    {
      "Name": "xxxx",
      "Age": 49
    },
    {
      "Name": "xxxxxx",
      "Age": 45
    }
  ],
  "Location": {
    "Address": "xxxx Sunset Ave.",
    "City": "xxxx"
  }
}
  

Вы можете попробовать создать подобную модель.

Person.java

 public class Person {
    @SerializedName("Name")
    public String name;

    @SerializedName("Age")
    public String age;

    @SerializedName("Parents")
    public List<Person> parents;

    @SerializedName("Location")
    public Location location;
}
  

Location.java

 public class Location {
    @SerializedName("Address")
    public String address;

    @SerializedName("City")
    public String city;
}
  

Комментарии:

1. спасибо, но мой актуальный вопрос заключается в том, как использовать оба класса (Person.java amp; Location.java ) при экономии времени в классе adpter. Означает, что я хочу одновременно извлекать данные из них для моего просмотра.