使用NJsonSchema.CodeGeneration,我能够输出JSON模式中定义的属性。但是,我注意到在生成的代码中,发生了几件事:
所有属性都定义了Required = Newtonsoft...DisallowNull
属性。
每个属性均设置为类的新实例。
示例:
[Newtonsoft.Json.JsonProperty("myProperty", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
public MyProperty MyProperty { get; set; } = new MyProperty();
问题:
我该如何做才能使生成的代码允许空值?这些不是JSON模式中的必需属性,因此初始化它们没有任何意义。另一方面,默认情况下初始化集合类很方便,因此可以在不引发异常的情况下对其进行迭代(这也是集合的当前行为)。