我正在使用JSchema创建手动JSON模式。通常,我会这样指定JSchema属性的属性:
JSchema props = new JSchema();
props.Properties.Add(KeyName), new JSchema { Type = JSchemaType.String });
但是,对于某些对象,我希望该属性可以引用另一个模式中的属性。当我手动执行此操作时,此方法有效:
"text": {
"$ref": "Common.json#/definitions/Text"
}
我想要做的是使用JSchema自动生成上述属性。 JSchema有一个称为Reference的属性,但是我找不到有关如何使用它的任何文档。我尝试过这种方式:
props.Properties.Add("Text", new JSchema { Reference = new Uri("Common.json#/definitions/Text", UriKind.RelativeOrAbsolute) });
但是不行。使用JSchema创建引用的正确方法是什么?
答案 0 :(得分:0)
您可以这样设置$ ref属性
JSchema propertySchema = new JSchema();
propertySchema.ExtensionData["$ref"] = "Common.json#/definitions/Text";
schema.Properties.Add("Text", propertySchema);