gpt4 book ai didi

c# - ASP.NET Web API - 如何反序列化 JSON

转载 作者:太空狗 更新时间:2023-10-29 23:07:38 27 4
gpt4 key购买 nike

我正在尝试使用 API。

我想在对象中存储以下请求: http://api.swissunihockey.ch/rest/v1.0/clubs/655
问题是,对象已初始化,但所有值均为空。

我可以接收数据并生成字符串形式的输出。但是对对象的反序列化不起作用。你能帮忙吗?

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);
}
}
}
}

这是我要存储数据的俱乐部类:

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; }
}

最佳答案

您需要另一个包含 Club 的类,该类将被进一步反序列化。

class Response
{
public Club Club { get; set; }
}

然后反序列化为

var res = await response.Content.ReadAsAsync<Response>();
var club = res.Club;

关于c# - ASP.NET Web API - 如何反序列化 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22534180/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com