Я хочу десериализовать следующий объект:
{
"qid": "226",
"parent_qid": "225",
"sid": "298255",
"gid": "25",
"type": "M",
"title": "SQ001",
"question": "question text",
"preg": null,
"help": null,
"other": "N",
"mandatory": null,
"question_order": "1",
"language": "de",
"scale_id": "0",
"same_default": "0",
"relevance": "1",
"modulename": "",
"available_answers": "No available answers",
"subquestions": "No available answers",
"attributes": "No available attributes",
"attributes_lang": "No available attributes",
"answeroptions": "No available answer options",
"defaultvalue": null
}
Члены с типами:
private HashMap<String, String> available_answers;
private HashMap<Integer, SubQuestion> subquestions;
Моя проблема в том, что в некоторых случаях атрибуты «answeroptions» и «available_answers» ( возможно, еще один или два) не просто строки, а другие объекты.
A) Я читал о создании настраиваемого десериализатора для обработки таких случаев, но это привело бы к тому, что мне также пришлось бы десериализовать другой атрибуты с типами stati c (больше ненужного кода).
B) Другой подход, который пришел мне в голову, заключается в том, что я мог «десериализовать» атрибуты в JsonObjects и полностью десериализовать их в соответствующих геттерах.
Итак, мой вопрос в том, можете ли вы предложить мне подход а), б) или другой.
Приветствую и заранее спасибо!