android - 如何创建嵌套 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 然后是子类别,然后是该数据列表。
解决方案
错误在 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;
}
}
}
推荐阅读
- python - How to add error bar with grouped bar plot using Seaborn
- azure - 使用 Azure CLI 或命令外壳执行时,Azure 容器注册表存储库或映像删除出错
- java - Jfree 图表值轴标签被裁剪
- c# - Realm .NET Where 使用 Contains() 查询抛出 System.NotSupportedException
- ios - 相同的类按钮在点击时的反应不同
- ios - 当应用程序在后台时保存 NSUserDefaults 值
- web - 如何通过 MOBILE 核心网络生命体征?
- python - 有人可以解释一下k-means中肘部啮合下这段代码的含义吗
- multithreading - 如果你在一个不在线程池中的线程中等待会发生什么?
- python - AttributeError:“BotClient”对象没有属性“循环”并声明一个实例