Rob*_*XSI 5 c# asp.net rest json asp.net-web-api
我正在尝试使用API.
我想在对象中存储以下Request:http://api.swissunihockey.ch/rest/v1.0/clubs/655
问题是,Object已初始化但所有值均为null.
我可以接收数据并生成一个字符串输出.但是对对象的反序列化不起作用.你能帮我吗?
private static async Task RunAsync()
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://api.swissunihockey.ch/rest/v1.0/clubs/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
try
{
HttpResponseMessage response = await client.GetAsync("615");
var club = await response.Content.ReadAsAsync<Club>();
Console.WriteLine(club.Name);
Console.Read();
}
catch (HttpRequestException e)
{
if (e.Source != null)
{
Console.WriteLine("HttpRequestException source: {0}", e.Source);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我试图存储数据的Club类:
class Club
{
public int Id { get; set; }
public string Name { get; set; }
public string Street { get; set; }
public string Zip { get; set; }
public string City { get; set; }
public string Canton { get; set; }
public string Phone { get; set; }
public string Url { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
小智 3
您需要另一个包含 Club 的类,该类将被进一步反序列化。
class Response
{
public Club Club { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后反序列化为
var res = await response.Content.ReadAsAsync<Response>();
var club = res.Club;
Run Code Online (Sandbox Code Playgroud)