[英]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.IsNull
為true
。
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.