这是从服务器为我的应用程序发送的json结果,all_food
是对象,其中的键以字符串开头,其中包含list1
,list2
或list9
和{{ 1}}嵌套lists
有一个键的数字,这个结构对我来说很难知道如何为它做类结构
all_foods
我如何在java类上创建这个结构?提前致谢
答案 0 :(得分:1)
嗯,两种方式
您可以在Java中学习整个对象建模,创建包含另一个类的POJO类等等。
或者您可以使用在线工具从任何JSON创建POJO。
为您提供两个谷歌搜索结果,您可以搜索
JSON to POJO Online
并查看更多链接。
答案 1 :(得分:0)
假设您使用的是GSON
class FoodResponse{
@SerializedName("all_foods")
Map<String,Map<String,String>> allFood;
@SerializedName("show_mixture")
boolean showMixture;
///.. and so on
}
通常,使用这种不必要的复杂且设计不佳的JSON,我建议像这样反序列化它:
new Gson().fromJson(json, Map.class); //or just Object.class
返回LinkedTreeMaps(..n)的LinkedTreeMaps的LinkedTreeMap 您可以按键/值浏览并提取所需的数据。
您无法为后端正确的JSON模型生成的JSON创建正确的响应模型。对于后端开发者来说,让他们发送好的json是一种常见的做法。)
答案 2 :(得分:0)
//Basic skeleton of pojo class
class AllFoods {
List<String> l1 = new ArrayList<>();
List<String>[] arrayOfList = new List[3]; //In case if we know how //many arraylist items are added,
String show_mixture;
String User_status;
List<String> l1sts = new ArrayList<>();
String UserDailyList;
String id;
String created;
String modified;
List<String> foodsArray= new List[3]; //if we know the range
List<String> foodsList = new ArrayList<>();
String error;
String message;
List<String> condition = new ArrayList<>();
}
//Then we need to have constuctors and add the values and have them in arrayofList