Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在android中解析和存储json响应_Java_Android_Json_Android Volley - Fatal编程技术网

Java 在android中解析和存储json响应

Java 在android中解析和存储json响应,java,android,json,android-volley,Java,Android,Json,Android Volley,我的JSON响应具有以下结构。 我应该如何解析它以存储在java中的一个列表中,并保持该结构。 GSON是否提供了解决方案,还是应该使用多维数组列表 我需要将每个标记数组传递给不同的视图寻呼机我应该采用什么方法 { "tag": [ { "listing_count": 5, "listings": [ { "source": "source1", "data": { "image

我的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;
    }
publicgsonrequest(int方法、字符串url、类clazz、,
侦听器侦听器,ErrorListener ErrorListener,Gson(Gson){
super(Method.GET、url、errorListener);
this.mClazz=clazz;
this.mListener=侦听器;
mGson=gson;
}

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;
    }
}
公共类标记列表{
ArrayList标签;
公共静态类标记{
整数单位计数;
ArrayList列表;
public int getListing_count(){
返回列表和U计数;
}
public void setListing_count(int listing_count){
this.listing_count=listing_count;
}
公共阵列列表getListings(){
返回列表;
}
公共无效集合列表(ArrayList列表){
this.listings=列表;
}
}
公共静态类列表{
字符串源;
数据;
字符串名;
公共字符串getSource(){
返回源;
}
公共void集合源(字符串源){
this.source=源;
}
公共数据getData(){
返回数据;
}
公共无效设置数据(数据){
这个数据=数据;
}
公共字符串getName(){
返回名称;
}
公共void集合名(字符串名){
this.name=名称;
}
}
公共静态类数据{
字符串图像;
字符串名;
公共字符串getImage(){
返回图像;
}
公共void setImage(字符串图像){
这个图像=图像;
}
公共字符串getName(){
返回名称;
}
公共void集合名(字符串名){
this.name=名称;
}
}

在使用Gson时,您可以存储数据,直到应用程序终止数据丢失时应用程序终止。一个选项必须将数据以共享首选项的形式存储为json字符串。当您需要数据时,您解析数据并显示。其他方面您必须使用数据库。感谢您提供的快速信息。我如何为Gson创建一个类来处理数据上面的结构?嘿,我一直在创建GSON响应类。我需要为每个列表(标记和列表)创建不同的GSON响应吗?