【发布时间】:2015-04-20 06:08:27
【问题描述】:
我正在使用 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 架构?
【问题讨论】:
标签: c# json c#-4.0 json.net jsonschema