簡體   English   中英

對象的反序列化有問題

[英]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; }

    }

get 調用正確返回對象,我們可以在這里看到在此處輸入圖像描述

但是當我反序列化列表時,列表包括 null 參數,如下所示: 在此處輸入圖像描述

我以同樣的方式做了兩種方法,不知道為什么第一個客戶端方法可以工作並填充列表,而第二個方法不能。

我只是將所有屬性的名稱都更改為小寫,並且可以正常工作 xD

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM