gpt4 book ai didi

c# - 如何将缺少的 json 字段反序列化为 null?

转载 作者:太空宇宙 更新时间:2023-11-03 12:18:24 26 4
gpt4 key购买 nike

我有一个如下所示的 JSON:

{
"a": "foo",
"b": {
"c": "bar"
}
}

有时,b 字段不存在,如下所示:

{
"a": "foo"
}

这是我将此 JSON 反序列化为的类:

public class MyObj
{
private string _a;
private MyType _b = new MyType();

[Newtonsoft.Json.JsonProperty("a",
Required = Newtonsoft.Json.Required.Always)]
public string A {
get { return _a; }
set { _a = value; }
}

[Newtonsoft.Json.JsonProperty("b",
Required = Newtonsoft.Json.Required.DisallowNull,
NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
public MyType B {
get { return _b; }
set { _b = value; }
}
}

在 JSON 中遇到缺失的 b 字段时,当前的行为是简单地用 new MyType() 对象填充它。当 JSON 中缺少 b 时,我希望将 _b 设置为 null

虽然我似乎无法弄清楚...必须有办法做到这一点。帮助!

最佳答案

来自评论:简单地替换private MyType _b = new MyType()private MyType; 解决了这个问题。

好尴尬

关于c# - 如何将缺少的 json 字段反序列化为 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48652136/

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