gpt4 book ai didi

c# - ReadAsAsync 从 Json 数据中获取空值?

转载 作者:行者123 更新时间:2023-11-30 16:41:27 25 4
gpt4 key购买 nike

我有课

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

关于c# - ReadAsAsync 从 Json 数据中获取空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49020469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com