Я проверил ответ, он возвращает мне нужную мне информацию (которая не равна нулю) и дает мне ответ 200. Всякий раз, когда я пытаюсь десериализовать возвращенный JSON, он показывает ноль, даже если должен быть предоставленной информацией.
Это происходит только тогда, когда я пытаюсь получить один проект, когда я получаю несколько, все это работает. Я пытался удалить класс ProjectList
и пытался получить информацию непосредственно из класса Project
, но это также ничего не возвращает.
var client = new RestClient("website goes here");
var request = new RestRequest($"/api/v2/projects/{Global.PSlug}");
request.Method = Method.GET;
request.AddHeader("Accept", "application/json");
client.AddDefaultHeader("Authorization", string.Format("Bearer {0}", Global.ApiToken));
var response = client.Execute(request);
var deserialize = new JsonDeserializer();
ProjectList output = deserialize.Deserialize<ProjectList>(response);
HttpStatusCode statusCode = response.StatusCode;
int numericStatusCode = (int)statusCode;
if (numericStatusCode == 200)
{
MessageBox.Show(response.Content.ToString()); // gives info
output.Projects[0].Title = Global.PTitle;
output.Projects[0].Title = Global.PDescription;
ProjectTitle.Text = Global.PTitle;
ProjectDesc.Text = Global.PDescription;
}
Классы для десериализации
class ProjectList
{
public List<Project> Projects { get; set; }
}
class Project
{
public int Id { get; set; }
public string Title { get; set; }
public string Slug { get; set; }
public string Description { get; set; }
public string Deadline { get; set; }
public string User_Id { get; set; }
public string Created_At { get; set; }
public string Updated_At { get; set; }
}
Ответ:
{
"Message": "OK",
"Project": {
"id": 13,
"title": "Api",
"slug": "apitest",
"description": "Api",
"deadline": "2020-03-01 00:00:00",
"user_id": 1,
"created_at": "2020-02-28 14:53:27",
"updated_at": "2020-02-28 14:53:27"
}
}