Как создать класс POJO для модернизации с именами динамических ключей - PullRequest
0 голосов
/ 29 июня 2018

Извините, но я не мог даже сформулировать вопрос хорошо, но здесь он идет. Я получаю ответ в формате 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
            }]
    }
}

Как создать класс POJO для этого типа JSON. Я пытался в jsonschema2pojo, но я чувствую, что это не очень хороший результат. Пожалуйста помоги. Спасибо заранее

Ответы [ 2 ]

0 голосов
/ 29 июня 2018

Вы можете использовать pojo только с этими данными:

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

А если вы используете дооснащение 2 и gson, я рекомендую вам использовать интерфейс JsonDeserializer

с .registerTypeAdapter ()

Пример

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

И вручную разобрать эту часть json.

0 голосов
/ 29 июня 2018

Ваш файл POJO

class MyPojo {
    HashMap<String, ArrayList<MyModel>> results;

    class MyModel {
        String message;
        String _id;
        String status;
        int code;
    }
...