[英]Having a problem with deserialization of an objects
我有一個代碼:
[HttpGet]
public IEnumerable<Ironman> Get()
{
var r = baza.Ironman.ToList();
return r;
}
private static readonly HttpClient client = new HttpClient();
private async Task<List<Ironman>> GetIronman()
{
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var stringKnjige = await client.GetStreamAsync("https://localhost:44369/api/Ironman");
var knjige = await JsonSerializer.DeserializeAsync<List<Ironman>>(stringKnjige);
return knjige;
}
public class Ironman
{
[Key]
public int kljuc { get; set; }
public string swim { get; set; }
public string division { get; set; }
public string run { get; set; }
public string name { get; set; }
public string profession { get; set; }
public string country { get; set; }
public string age { get; set; }
public string runDistance { get; set; }
public string bib { get; set; }
public string state { get; set; }
public string bike { get; set; }
public string genderRank { get; set; }
public string overall { get; set; }
public string swimDistance { get; set; }
public string overallRank { get; set; }
public string points { get; set; }
public string t2 { get; set; }
public string bikeDistance { get; set; }
public string t1 { get; set; }
public string divRank { get; set; }
}
上面的代碼工作得很好。 它返回我反序列化和數據綁定到數據網格中的對象,並且值在數據網格中完美顯示。 但是當我嘗試這樣做時,為什么對於另一個表它返回具有 null 參數值的對象列表完全相同,代碼是:
[HttpGet]
public IEnumerable<UltraTriathlon> Get()
{
var r = baza.UltraTriathlon.ToList();
return r;
}
private async Task<List<UltraTriathlon>> GetUltraTriathlon()
{
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var s = await client.GetStreamAsync("https://localhost:44369/api/UltraTriathlon");
var k = await JsonSerializer.DeserializeAsync<List<UltraTriathlon>>(s);
return k;
}
public class UltraTriathlon
{
[Key]
public int kljuc { get; set; }
public string Rank { get; set; }
public string Overall { get; set; }
public string Competitor { get; set; }
public string Country { get; set; }
public string Age_Category { get; set; }
public string Swim { get; set; }
public string Trans1 { get; set; }
public string Bike { get; set; }
public string Trans2 { get; set; }
public string Run { get; set; }
public string Finish { get; set; }
public string Comment { get; set; }
}
但是當我反序列化列表時,列表包括 null 參數,如下所示:
我以同樣的方式做了兩種方法,不知道為什么第一個客戶端方法可以工作並填充列表,而第二個方法不能。
我只是將所有屬性的名稱都更改為小寫,並且可以正常工作 xD
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.