тип «дата» внутри схемы Json

#c# #asp.net-core #jsonschema

#c# #asp.net-ядро #jsonschema

Вопрос:

У меня есть следующая схема Json:

 string jsonSchema = @"{
  ""properties"": {
                ""dateOfEvent"": {
                    ""type"": ""date"",
                }
            }
        }";
 

и я хочу проверить ввод JSON по этой схеме. Я пытаюсь использовать Microsoft.Json.Схема и Microsoft.Json.Схема.Проверка, но у меня есть: «Исключение типа ‘Microsoft.Json.Схема.Было вызвано исключение SchemaValidationException». в следующей строке моего кода:

 using (var reader = new StringReader(jsonSchema))
{
    var schema = SchemaReader.ReadSchema(reader, string.Empty);
    //some code for validation
}
 

Кто-нибудь может объяснить мне, что не так и как я могу использовать эту jsonSchema для проверки JSON?

Комментарии:

1.Я бы посоветовал вам попробовать Json.net . Обратитесь к этим ссылкам — newtonsoft.com/json newtonsoft.com/json/help/html/JsonSchema.htm

2. Дата не является допустимым значением типа.

Ответ №1:

Как сказано в сообщении об ошибке, дата является недопустимым типом схемы JSON. Для свойства Date вы можете использовать string тип и date формат. Код, подобный этому:

     "date": {
        "type": "string",
        "format": "date"
    } 
 

[Примечание] При использовании вышеуказанного метода, поскольку дата имеет строковый тип, кажется, что он не будет проверять, является ли дата действительной или нет. Если вы хотите проверить значение даты, вы можете попробовать настроить правила проверки JSON.