Преобразование результата API JSON в тип не выполняется - PullRequest
0 голосов
/ 14 мая 2019

У нас есть некоторый JSON, который возвращается следующим образом:

[
   {
       "id" : "120421421",
       "activityId" : "2049192",
       ...
   },
   {
       "id" : "24442141",
       "activityId" : "2141245",
       ...
   },
]

Я вижу, что этот вопрос задавался ранее, но не уверен, что ответы объясняют точный сценарий здесь. - Невозможно десериализовать текущий массив JSON (например, [1,2,3])

Кажется, проблема в том, что данные представляют собой массив результатов, а не просто тип класса.

Мы вызываем наш API с помощью общего вызова API.

   result.Data = response.Content.ReadAsAsync<T>().Result;
   result.Json = response.Content.ReadAsStringAsync().Result;

Синтаксический анализ результата в передаваемый тип - вот что не получается. У нас есть пара классов для обработки результатов.

        public abstract class AvailabilityResult
        {
            public List<AvailabilityEntry> ResultList;
        }

        public abstract class AvailabilityEntry
        {
            public string id { get; set; }
            public string activityId { get; set; }
        }

1 Ответ

0 голосов
/ 14 мая 2019
        [JsonArrayAttribute]
        public class AvailabilityResult : List<AvailabilityEntry>
        {
            public List<AvailabilityEntry> ResultList;
        }

        public abstract class AvailabilityEntry
        {
            public string id { get; set; }
            public string activityId { get; set; }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...