【发布时间】:2020-02-16 02:52:34
【问题描述】:
我需要从 JSON 响应中获取值,我尝试执行以下操作,但 Project 类中的消息框显示为空。
我尝试用 Google 搜索我的问题(还有 restsharp 教程),但直到现在我都无法解决我遇到的问题。我在网上到处都得到了线索,这就是我在过去几天里已经走了多远。
我期望的结果是来自 API 的每个值都进入变量,然后我可以获取每个值。我不想要纯 JSON 内容。
API 类
private async void Submit_Button_Click(object sender, RoutedEventArgs e)
{
var client = new RestClient("http://apage.com/");
var request = new RestRequest("api/project");
request.Method = Method.GET;
request.AddHeader("Accept", "application/json");
client.AddDefaultHeader("Authorization",
string.Format("Bearer {0}", "token goes here"));
var response = client.Execute(request);
var deserialize = new JsonDeserializer();
Project output = deserialize.Deserialize<Project>(response);
Project project = new Project();
project.check();
}
项目类
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 int User_id { get; set; }
public string Created_at { get; set; }
public string Updated_at { get; set; }
public void check()
{
MessageBox.Show(Title);
}
}
JSON 代码
{
"projects": [
{
"id": 29,
"title": "a_project",
"slug": "a_project",
"description": "f",
"deadline": "2020-04-08 00:00:00",
"user_id": 19,
"created_at": "2020-02-11 16:59:45",
"updated_at": "2020-02-11 16:59:45"
}
]
}
Github 链接: https://github.com/s1129092/n212/blob/master/WpfApp1/MainWindow.xaml.cs
【问题讨论】:
-
你不应该用
output.check()而不是project.check()吗? -
Project project = new Project();是一个为空的新实例。