1
我試圖創建一個模式,以確保供應外JSON是以下形式:如何使用JsonSchema.NET需要一個屬性?
{ Username: "Aaron" }
現在,我創建在C#中Newtonsoft JSchema對象做:
var sch = new JSchema()
{
Type = JSchemaType.Object,
AllowAdditionalProperties = false,
Properties =
{
{
"Username",
new JSchema() { Type = JSchemaType.String }
}
}
};
這很接近,但不需要存在Username屬性。我已經試過如下:
var sch = new JSchema()
{
Type = JSchemaType.Object,
AllowAdditionalProperties = false,
Properties =
{
{
"Username",
new JSchema() { Type = JSchemaType.String }
}
},
Required = new List<string> { "Username" }
};
,但我得到:
Error CS0200 Property or indexer 'JSchema.Required' cannot be assigned to -- it is read only
事實上,文件指出,required屬性爲只讀:
https://www.newtonsoft.com/jsonschema/help/html/P_Newtonsoft_Json_Schema_JSchema_Required.htm
上午我錯過了什麼?爲什麼Required屬性是隻讀的?我如何要求用戶名的存在?
是否'JSchema'有任何重載的構造函數? – Alex
或者你可以嘗試在你想要的屬性上使用'[JsonProperty(Required = Required.Always)]'屬性 – Alex