我正在使用Newtonsoft.Json.schema v1.0.6,我正在尝试为自定义类型生成JSchema
,该类型具有与此类似的数组属性:
public class MyClass {
public List<MyChild> Children { get; set; }
}
public class MyChild {
public string MyProperty { get; set; }
}
默认JSchemaGenerator
生成与此类似的JSchema
:
{
"type": "object",
"properties": {
"MyChildren": {
"type": "array",
"items": {
"type": [
"object",
"null"
],
...
}
}
},
...
}
我不想接受MyChildren
数组中的空项。我尝试添加[JsonProperty(Required = Required.Always)]
属性,但它只需要MyChildren
属性本身,我无法将属性添加到MyChild
类。
我想我必须实现自定义JSchemaGenerationProvider
,但JSchema.Items
属性是只读的。
如何为具有不应接受空值的数组属性的对象生成JSON模式?
答案 0 :(得分:0)
JSchema.Items
是只读的,但其中的架构可以修改。只需将其类型设置为JSchemaType.String
。