Я работаю с внешним API, который возвращает свойство либо в виде массива, либо в виде объекта, в зависимости от количества. Каков хороший способ справиться с этим?
Возврат в виде массива:
{
"contacts": {
"address": [
{
"id": "47602070",
"type": "Work",
"street": "MyStreet",
"city": "MyCity",
"zip": "12345",
"country": "USA"
},
{
"id": "47732816",
"type": "GPS",
"street": "50.0,30.0"
}
]
}
}
Возврат в виде объекта:
{
"contacts": {
"address": {
"id": "47602070",
"type": "Work",
"street": "MyStreet",
"city": "MyCity",
"zip": "12345",
"country": "USA"
}
}
}
Я думаю, что обходной путь будет заключаться в использовании пользовательского десериализатора и возвращении массива длины 1 для случая объекта и десериализации по умолчанию для случая массива, но я пока не знаю, как это сделать.
Я попытался десериализовать объект в массив и надеялся, что Json.net справится с этим случаем за меня, но без костей.