0

使用 NJsonSchema.CodeGeneration,我可以输出 JSON 模式中定义的属性。但是,我注意到在生成的代码中,发生了一些事情:

  1. 所有属性都Required = Newtonsoft...DisallowNull定义了属性。

  2. 每个属性都设置为一个类的新实例。

例子:

[Newtonsoft.Json.JsonProperty("myProperty", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
public MyProperty MyProperty { get; set; } = new MyProperty();

问题

如何使生成的代码允许空值?这些不是 JSON 模式中的必需属性,初始化它们没有意义。另一方面,默认情况下初始化集合类很方便,因此可以迭代它们而不会引发异常(这也是集合的当前行为)。

4

0 回答 0