簡體   English   中英

ReadAsAsync從Json數據中獲取空值?

[英]ReadAsAsync got null values from Json data?

我上課了

public class C
{
    public int Id { get; set; }
    public SqlXml Range { get; set; } // System.Data.SqlTypes.SqlXml
}

以下代碼用於從web api讀取數據。

    List<C> cs = null;
    var response = await client.GetAsync(url);
    if (response.IsSuccessStatusCode)
    {
        cs = await response.Content.ReadAsAsync<List<C>>(); // cs[..].Range is null
    }

以下是從Web API返回的一些示例Json文件。

[{"id":0,"range":{"isNull":false,"value":"<Range>....</Range>"}},
 {"id":1,"range":{"isNull":false,"value":"<Range>...</Range>"}},
 {"id":2,"range":{"isNull":false,"value":"<Range>....</Range>"}}]

但是,變量cs具有以下值。 Id值是正確的。 但是所有Range得到了空值?

0, null
1, null
2, null

調試器顯示cs[...].Range.IsNulltrue

System.Data.SqlTypes.SqlXml的屬性是只讀的。 當反序列化程序嘗試創建該類型的對象時,它將在嘗試設置屬性時失敗。

創建自己的類以保存所需的值

public class Range {
    public bool IsNull { get; set; }
    public string Value { get; set; }
}

public class C {
    public int Id { get; set; }
    public Range Range { get; set; }
}

現在應該允許正確填充Range

暫無
暫無

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

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