Я использую API с .NET Core, который возвращает массивы объектов.Но когда массив содержит только один объект, внешний API удалит массив и вставит объект напрямую.
Я надеюсь, что есть атрибут или параметр, который не требует от меня работы с JObjects или переопределенияJsonConverter.
Пример JSON, с которым я имею дело:
{
"a": {
"b": [{
"id": 1,
"name": "first object"
}, {
"id": 2,
"name": "second object"
}]
}
}
Json с пропущенным массивом
{
"a": {
"b": {
"id": 1,
"name": "One object only"
}
}
}
Это то, что я делаю (упрощенно)
public class Response
{
public A a { get; set; }
}
public class A
{
public List<B> b { get; set; }
}
public class B
{
public int id { get; set; }
public string name { get; set; }
}
var apiResponse = await response.Content.ReadAsAsync<Response>()
Хотелось бы, чтобы при возвращении второго примера JSON функция ReadAsAsync () автоматически понимала, что он должен быть преобразован в массив с одним объектом из B.
Проблема заключается в том, чтоэто может происходить во многих местах в ответах API.