根据JSON结果创建一个类

时间:2017-08-07 08:51:03

标签: android json

这是从服务器为我的应用程序发送的json结果,all_food是对象,其中的键以字符串开头,其中包含list1list2list9和{{ 1}}嵌套lists有一个键的数字,这个结构对我来说很难知道如何为它做类结构

all_foods

我如何在java类上创建这个结构?提前致谢

3 个答案:

答案 0 :(得分:1)

嗯,两种方式

您可以在Java中学习整个对象建模,创建包含另一个类的POJO类等等。

或者您可以使用在线工具从任何JSON创建POJO。

为您提供两个谷歌搜索结果,您可以搜索

  

JSON to POJO Online

并查看更多链接。

Link 1 Link 2

答案 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