首页 > 解决方案 > 如何创建嵌套 json 的 pojo 文件以通过改造获得响应

问题描述

如何为嵌套的 json 创建 pojo 文件以通过改造获得响应。以下是我的json。

{
        "Category_Name": [
            "Breads",
            "Combo and Thali",
            "Main Course",
            "Rice and Biryani"
        ],
        "Alldishitems": [
            [
                {
                    "Subcategory": "Brown bread",
                    "DishName": "Stuffed Paratha",
                    "DishPrice": "100",
                    "Dishquantity": "10",
                    "Dishdescription": ""
                },
                {
                    "Subcategory": "white Bread",
                    "DishName": "Plain Paratha",
                    "DishPrice": "136",
                    "Dishquantity": "10",
                    "Dishdescription": ""
                }
            ],
            [
                {
                    "Subcategory": "Combo",
                    "DishName": "Rajma Masala Combo",
                    "DishPrice": "136",
                    "Dishquantity": "10",
                    "Dishdescription": ""
                },
                {
                    "Subcategory": "Combo",
                    "DishName": "Lassi with Aloo Paratha",
                    "DishPrice": "100",
                    "Dishquantity": "10",
                    "Dishdescription": ""
                },
                {
                    "Subcategory": "Thali",
                    "DishName": "Chinise thali",
                    "DishPrice": "100",
                    "Dishquantity": "10",
                    "Dishdescription": ""
                }
            ],
    ]

以下代码我尝试过但为空

public class ServerResponse {
    @SerializedName("Category_Name")
    String[] Category_Name;
    @SerializedName("Alldishitems")
    ArrayList<ArrayList<Getmenulist>>getmenudata = new  ArrayList<ArrayList<Getmenulist>>();

    public  ServerResponse(String[] category_Name,ArrayList<ArrayList<Getmenulist>> getmenudata)
    {
        this.Category_Name=category_Name;
        this.getmenudata=getmenudata;
    }

    public String[] getCategory_Name() {
        return Category_Name;
    }

    public ArrayList<ArrayList<Getmenulist>>getGetmenudata() {
        return getmenudata;
    }
}

public class Getmenulist {
    @SerializedName("Alldishitems")
    List<Getmenulist.Getmenudata> data;
    public Getmenulist(List<Getmenulist.Getmenudata> data)
    {
        this.data=data;
    }

    public List<Getmenulist.Getmenudata> getData() {
        return data;
    }
    public class Getmenudata {
        @SerializedName("Subcategory")
        String Subcategory;
        @SerializedName("DishName")
        String DishName;
        @SerializedName("DishPrice")
        String DishPrice;
        @SerializedName("Dishquantity")
        String dishQuantities;
        @SerializedName("Dishdescription")
        String Dishdescription;
        @SerializedName("image")
        String image;


        public Getmenudata(String Subcategory, String DishName, String DishPrice, String dishQuantities, String Dishdescription, String image) {
            this.Subcategory = Subcategory;
            this.DishName = DishName;
            this.DishPrice = DishPrice;
            this.dishQuantities = dishQuantities;
            this.Dishdescription = Dishdescription;
            this.image = image;

        }

        public String getDishdescription() {
            return Dishdescription;
        }

        public String getImage() {
            return image;
        }

        public String getDishName() {
            return DishName;
        }

        public String getDishPrice() {
            return DishPrice;
        }

        public String getDishQuantities() {
            return dishQuantities;
        }

        public String getSubcategory() {
            return Subcategory;
        }

    }
}

上面的代码我已经尝试过,但得到了 null。我得到了数组的大小,但里面没有数据。如果你不介意,请帮我解决这个问题。我需要更改 json 或 pojo 文件吗?我正在尝试获取粘性列表的数据。我的数据如 Category 然后是子类别,然后是该数据列表。

标签: android

解决方案


错误在 ServerResponse 类中,getmenudata 不是 arraylist< arrayList<...>> 因为 Germenulist 类中已经有一个列表尝试:

public class ServerResponse {
    @SerializedName("Category_Name")
    String[] Category_Name;
    @SerializedName("Alldishitems")
    List<Getmenulist> getmenudata = new ArrayList<Getmenulist>();

    public ServerResponse(String[] category_Name, ArrayList<Getmenulist> getmenudata) {
        this.Category_Name = category_Name;
        this.getmenudata = getmenudata;
    }

    public String[] getCategory_Name() {
        return Category_Name;
    }

    public List<Getmenulist> getGetmenudata() {
        return getmenudata;
    }


}

public class Getmenulist {

    @SerializedName("Alldishitems")
    List<Getmenudata> data;

    public Getmenulist(List<Getmenulist.Getmenudata> data) {
        this.data = data;
    }

    public class Getmenudata {
        @SerializedName("Subcategory")
        String Subcategory;
        @SerializedName("DishName")
        String DishName;
        @SerializedName("DishPrice")
        String DishPrice;
        @SerializedName("Dishquantity")
        String dishQuantities;
        @SerializedName("Dishdescription")
        String Dishdescription;
        @SerializedName("image")
        String image;


        public Getmenudata(String Subcategory, String DishName, String DishPrice, String dishQuantities, String Dishdescription, String image) {
            this.Subcategory = Subcategory;
            this.DishName = DishName;
            this.DishPrice = DishPrice;
            this.dishQuantities = dishQuantities;
            this.Dishdescription = Dishdescription;
            this.image = image;

        }

        public String getDishdescription() {
            return Dishdescription;
        }

        public String getImage() {
            return image;
        }

        public String getDishName() {
            return DishName;
        }

        public String getDishPrice() {
            return DishPrice;
        }

        public String getDishQuantities() {
            return dishQuantities;
        }

        public String getSubcategory() {
            return Subcategory;
        }
    }

}

推荐阅读