Je suis en train de créer un schéma pour faire en sorte que l'extérieur fourni JSON est de la forme suivante:Comment demander une propriété à l'aide de JsonSchema.NET?
{ Username: "Aaron" }
En ce moment, je crée un objet JSchema Newtonsoft en C# en faisant:
var sch = new JSchema()
{
Type = JSchemaType.Object,
AllowAdditionalProperties = false,
Properties =
{
{
"Username",
new JSchema() { Type = JSchemaType.String }
}
}
};
Ceci est proche, mais ne nécessite pas la présence de la propriété Username. Je l'ai essayé ce qui suit:
var sch = new JSchema()
{
Type = JSchemaType.Object,
AllowAdditionalProperties = false,
Properties =
{
{
"Username",
new JSchema() { Type = JSchemaType.String }
}
},
Required = new List<string> { "Username" }
};
mais je reçois:
Error CS0200 Property or indexer 'JSchema.Required' cannot be assigned to -- it is read only
Et en effet, la documentation fait remarquer que la propriété requise est en lecture seule:
https://www.newtonsoft.com/jsonschema/help/html/P_Newtonsoft_Json_Schema_JSchema_Required.htm
Am J'ai raté quelque chose? Pourquoi la propriété Required serait-elle en lecture seule? Comment puis-je exiger la présence du nom d'utilisateur?
Est-ce que le 'JSchema' ont des constructeurs surchargées? – Alex
Ou vous pouvez essayer d'utiliser l'attribut '[JsonProperty (Required = Required.Always)]' sur les propriétés que vous souhaitez utiliser – Alex