Я хочу десериализовать json-объекты для определенных типов объектов (используя библиотеку Gson) на основе значения поля type
, например.:
[
{
"type": "type1",
"id": "131481204101",
"url": "http://something.com",
"name": "BLAH BLAH",
"icon": "SOME_STRING",
"price": "FREE",
"backgroundUrl": "SOME_STRING"
},
{
....
}
]
Итак, поле type
будет иметь разные (но известные) значения. Основываясь на этом значении, мне нужно десериализовать этот объект json для соответствующего объекта модели, например: Type1Model, Type2Model и т.д.
Я знаю, что я могу легко сделать это до десериализации, переведя его на JSONArray
, перейдя через него и разрешив, к какому типу он должен быть десериализован. Но я думаю, что это уродливый подход, и я ищу лучший способ. Любые предложения?