代码之家  ›  专栏  ›  技术社区  ›  mavilla vishnu vardhan

如何创建pojo类以使用动态密钥名进行更新

  •  1
  • mavilla vishnu vardhan  · 技术社区  · 6 年前

    很抱歉,我甚至不能很好地表达这个问题,但我要说的是。 我得到的json响应如下:

    {
        "results": {
            "b2bc01": [{
                "message": "Successfully created",
                "_id": "596c8b25ce2350e41600002f",
                "status": "Success",
                "code": 200
            }],
            "b2bc02": [{
                "message": "Successfully created",
                "_id": "596c8b25ce2350e416000030",
                "status": "Success",
                "code": 200
            }]
            .
            .
            .
            "b2bc0n":[{
                "message": "Successfully created",
                "_id": "596c8b25ce2350e416000030",
                "status": "Success",
                "code": 200
                }]
        }
    }
    

    如何为此类json创建pojo类。我试过jsonschema2pojo,但我觉得这不是一个好结果。 请帮忙。提前感谢

    2 回复  |  直到 6 年前
        1
  •  2
  •   Suhaib Roomy    6 年前

    你的pojo文件

    class MyPojo {
        HashMap<String, ArrayList<MyModel>> results;
    
        class MyModel {
            String message;
            String _id;
            String status;
            int code;
        }
    
        2
  •  0
  •   Emmanuel Montt    6 年前

    您只能将pojo用于此数据:

    [{
                "message": "Successfully created",
                "_id": "596c8b25ce2350e41600002f",
                "status": "Success",
                "code": 200
            }]
    

    如果您使用reformation2和gson,我建议您使用接口jsondersializer

    使用.registerTypeAdapter()

    例子

    Gson gson = new GsonBuilder()
                                .excludeFieldsWithoutExposeAnnotation()
                                .registerTypeAdapter(GpcProductDetail.class, new GpcProductDeserializer())
                                .create();
    

    并手动解析json的那一部分。