Синтаксический анализ и сохранение ответа json в Android

#java #android #json #android-volley

#java #Android #json #android-volley

Вопрос:

Мой ответ JSON имеет следующую структуру. Как я должен проанализировать его, чтобы сохранить в списке на Java с сохраненной структурой. Предоставляет ли GSON решение или я должен использовать список многомерных массивов?

Мне нужно передать каждый из массива тегов на другой пейджер просмотра, какому подходу я должен следовать.

 {
  "tag": [
    {
      "listing_count": 5,
      "listings": [
        {
          "source": "source1",
          "data": {
            "image": "image1",
            "name": "name1"
          },
          "name": "name1"
        }
      ]
    },
    {
      "listing_count": 5,
      "listings": [
        {
          "source": "source2",
          "data": {
            "image": "imag2",
            "name": "name2"
          },
          "name": "name2"
        }
      ]
    }
  ]
}
  

Редактировать:

Я создал классы, как предложено в ответе..У меня возникли проблемы с созданием класса ответов GSON. Это то, что я создал:

 public GsonRequest(int method, String url, Class<T> clazz,
            Listener<T> listener, ErrorListener errorListener, Gson gson) {
        super(Method.GET, url, errorListener);
        this.mClazz = clazz;
        this.mListener = listener;
        mGson = gson;
    }
  

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

1. При использовании Gson пользователь может сохранять данные до тех пор, пока приложение не завершит работу, когда приложение завершит потерю данных. Один из вариантов должен сохранять данные в общих настройках в виде строки json. когда вам понадобятся данные, вы проанализируете их и отобразите. В противном случае вам придется использовать базу данных.

2. Спасибо за краткую информацию.. как я могу создать класс для GSON, который будет действовать для вышеупомянутой структуры?

Ответ №1:

Класс gson должен быть примерно таким:

 public class TagList {

ArrayList<Tag> tags;

public static class Tag {
    int listing_count;
    ArrayList<Listings> listings;

    public int getListing_count() {
        return listing_count;
    }

    public void setListing_count(int listing_count) {
        this.listing_count = listing_count;
    }

    public ArrayList<Listings> getListings() {
        return listings;
    }

    public void setListings(ArrayList<Listings> listings) {
        this.listings = listings;
    }

}

public static class Listings {
    String source;
    Data data;
    String name;

    public String getSource() {
        return source;
    }

    public void setSource(String source) {
        this.source = source;
    }

    public Data getData() {
        return data;
    }

    public void setData(Data data) {
        this.data = data;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}

public static class Data {
    String image;
    String name;

    public String getImage() {
        return image;
    }

    public void setImage(String image) {
        this.image = image;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
  

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

1. Привет, я застрял при создании класса ответов GSON. Нужно ли мне создавать разные ответы GSON для каждого списка (тега и списков)?