[英]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.