Как создать класс POJO для модернизации с именами динамических ключей
Я извиняюсь, но я не мог даже сформулировать вопрос хорошо, но здесь это идет. Я получаю ответ 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 ответа
Решение
Ваш файл POJO
class MyPojo {
HashMap<String, ArrayList<MyModel>> results;
class MyModel {
String message;
String _id;
String status;
int code;
}
Вы можете использовать только 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.