【发布时间】:2018-05-23 23:35:02
【问题描述】:
我正在使用 JSON.NET JSchema Generator 来创建基于用数据注释属性修饰的类的模式。我正在使用这样的生成器:
var generator = new JSchemaGenerator();
generator.ContractResolver = new CamelCasePropertyNamesContractResolver();
generator.SchemaIdGenerationHandling = SchemaIdGenerationHandling.TypeName;
var schema = generator.Generate(typeof(myType));
string jsonSchema = schema.ToString();
这会生成一个示例架构,例如:
{
"$id": "myType",
"definitions": {
"mySubType" : {
"$id": "mySubType",
"type": [
"object",
"null"
],
"properties": {
"name": {
"type: "string"
}
},
"required": [
"name"
]
}
},
"type": "object",
"properties": {
"name": {
"type": "string"
},
"details": {
"$ref": "mySubType"
}
},
"required": [
"name",
"details"
]
}
我希望能够生成包含myType 和mySubType 的附加属性属性的架构,如下所示:
{
"$id": "myType",
"definitions": {
"mySubType" : {
"$id": "mySubType",
"type": [
"object",
"null"
],
"properties": {
"name": {
"type: "string"
}
},
"required": [
"name"
],
"additionalProperties": false
}
},
"type": "object",
"properties": {
"name": {
"type": "string"
},
"details": {
"$ref": "mySubClass"
}
},
"required": [
"name",
"details"
],
"additionalProperties": false
}
如何使用 JSchema 生成器生成这样的模式?
是否有一个类级别的数据注释属性可以做到这一点?
【问题讨论】:
标签: c# json.net jsonschema