С Newtonsoft.Json.Schema я пытаюсь добавить зависимости и сериализовать в json-схему (файл .json).
var schema = new JSchema()
{
Type = JSchemaType.Object,
SchemaVersion = new Uri("http://json-schema.org/draft-07/schema#")
};
schema.Properties.Add("ShowField", new JSchema() { Type = JSchemaType.Boolean });
var oneOf1 = new JSchema();
oneOf1.Properties.Add("ShowField", new JSchema() {Enum = { false }});
var oneOf2 = new JSchema();
oneOf2.Properties.Add("ShowField", new JSchema() { Enum = { true } });
oneOf2.Properties.Add("ExtraField", new JSchema() { Type = JSchemaType.String });
var oneOf = new JSchema();
oneOf.OneOf.Add(oneOf1);
oneOf.OneOf.Add(oneOf2);
schema.Dependencies.Add("ShowField", oneOf);
Console.WriteLine(schema.ToString());
Мой ожидаемый и ожидаемый результат такой:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"ShowField": {
"type": "boolean"
}
},
"dependencies": {
"ShowField": {
"oneOf": [
{
"properties": {
"ShowField": {
"enum": [false]
}
}
},
{
"properties": {
"ShowField": {
"enum": [true]
},
"ExtraField": {
"type": "string"
}
}
}
]
}
}
}
Но когда я запускаю код, результат таков:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"ShowField": {
"type": "boolean"
}
}
}
Я проверил объект JSchema и убедился, что зависимость добавлена к объекту, но все еще нет сериализациизависимости.
Есть советы?Есть ошибки в коде?