Сериализация ответа внутри класса в виде списка - PullRequest
0 голосов
/ 22 февраля 2020

Я пытаюсь получить симптомы из API. Я уже могу их получить, и я успешно сериализую их в классе. Результат выглядит так, как показано на рисунке ниже: Symptoms Response

В них есть только идентификаторы и имена. Вторая таблица из API выглядит так: SymptomsInBodySubLocation

Итак, мой класс сущностей;

using System.Collections.Generic;

public class SymptomousInBodySublocations
{
    public int ID { get; set; }
    public string Name { get; set; }
    public bool HasRedFlag { get; set; }
    public ICollection<BodyLocations> HealthSymptomLocationIDs { get; set; }
    public string ProfName { get; set; }
    public List<string> Synonyms { get; set; }
}

И мой метод сериализации:

public static List<SymptomousInBodySublocations> SymptomsInBodySublocations()
{
    var client = new RestClient("https://priaid-symptom-checker-v1.p.rapidapi.com/symptoms/31/man?format=json&language=en-gb");
    var request = new RestRequest(Method.GET);
    request.AddHeader("x-rapidapi-host", "priaid-symptom-checker-v1.p.rapidapi.com");
    request.AddHeader("x-rapidapi-key", "<api-key>");
    List<SymptomousInBodySublocations> SymptomsInBodySublocationsList = new List<SymptomousInBodySublocations>();
     var response = client.Execute<List<SymptomousInBodySublocations>>(request);
     foreach(SymptomousInBodySublocations variables in response.Data)
     {
         SymptomsInBodySublocationsList.Add(variables);
     } 
      return SymptomsInBodySublocationsList;
}

И мой класс BodyLocations:

public class BodyLocations
{
    public int ID { get; set; }
    public string Name { get; set; }
}

В этот момент, когда я пытался извлечь свои данные из моего List<BodyLocations>(), response.Data пуст. Что мне делать?

1 Ответ

2 голосов
/ 22 февраля 2020

HealthSymptomLocationIDs не является объектом, смотря на ответ, это массив целых чисел.

Изменение поля в соответствии с ответом должно заполнить поле целочисленными значениями из API

public List<int> HealthSymptomLocationIDs { get; set; }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...