У меня есть данные, хранящиеся в поле БД, действующем как кеш от вызова API.Эти данные относятся к типу:
В настоящее время у меня есть следующий код, который использует NewtonSoft.JSON
длявзять строку и (на основе успешной десериализации) определить, к какому из этих типов относится строка.
var _lstObj = new List<MyObject>();
var _obj = new MyObject();
bool isList = false;
try
{
var n = JsonConvert.DeserializeObject<List<MyObject>>(cacheString);
if(n!=null && n.Count()>0)
{
_lstObj = n;
isList = true;
}
}
catch(Exception e)
{
isList = false;
}
if (!isList)
{
try
{
var x = JsonConvert.DeserializeObject<MyObject>(cacheString);
if (x != null && x.Data != null)
{
_obj = x;
}
}
catch(Exception e) { }
}
Это кажется довольно громоздким ... есть ли лучший способ сделать это?
У меня всегда будет строка для входящих данных.
Это будет только один из этих двух типов.