Как я могу десериализовать объект, когда типы его дочерних объектов различаются? Я получаю следующий JSON от Telegram Bot API:
{
"ok":true,
"result":[
{
"update_id":126107325,
"message":{
"message_id":200,
"from":{
"id":someid,
"first_name":"somename"
},
"chat":{
"id":someid,
"title":"asdasdasdasd"
},
"date":1438327336,
"text":"\/lfdngdf"
}
}
]
}
Где «чат» представляет собой объект типа «Групповой чат».
При повторном вызове того же метода это может привести к следующему:
{
"ok":true,
"result":[
{
"update_id":126107326,
"message":{
"message_id":204,
"from":{
"id":1234567,
"first_name":"somename"
},
"chat":{
"id":1234567,
"first_name":"Paul"
},
"date":1438327788,
"text":"\/blaaa"
}
}
]
}
Где чат представляет собой объект типа «Пользователь». Я просмотрел некоторые ответы, но они не помогли, так как я не напрямую десериализую «Сообщение», а вместо этого «UpdatePacket».
Заранее спасибо!