Я использую библиотеку AJV для проверки моей схемы JSON. Я хочу иметь возможность подтверждать, что Startdate
является строкой. В случае, если это не строка, ее следует преобразовать в N/A
. В настоящее время он преобразует только undefined
в N/A
.
Однако в этих случаях это не работает должным образом:
null
-> "ноль"- 0 --> "0"
- правда -> "правда"
Если я хочу, чтобы все вышеперечисленное было преобразовано в строку N/A
, как бы выглядела моя функция customKeyword?
Ответ JSON:
jsonResponse: {
"Issue": {
"StartDate": "December 17, 1995 03:24:00"
}
}
схема:
var ajv = new Ajv({
useDefaults: true,
coerceTypes: 'undefined'
});
const schema = {
"type": "object",
"properties": {
"Issue": {
"type": "object",
"properties": {
"StartDate": {
"type": "string"
"default": "N/A",
"stringTypeChecker"
}
}
}
}
}
Функция addKeyword:
ajv.addKeyword('stringTypeChecker', {
modifying: true,
validate: function(){
let foo = []
console.log(foo)
}
});
var valid = ajv.validate(schema, jsonResponse);