0
속성 값이 지정된 값과 다른 값을 가질 때이를 수정하려고합니다.Ajv로 잘못된 JSON 값을 수정했습니다.
JSON :
나는 이미 "벽돌"가 아닌 경우 "벽돌"을 가지고 돌 속성을 수정하려는{
"stone": "bri"
}
.
스키마 :
{
"required": [
"stone"
],
"properties": {
"stone": {
"type": "string",
"if": {
"not": {
"constant": "brick"
}
},
"then": { "default": "brick" }
}
}
}
사용 v4.11.4 :
var ajv = new Ajv({ useDefaults: true, v5: true });
require('ajv-keywords')(ajv);
나는 기본적으로 좋은 하나에 값을 변경하는 데 사용할 수있는 다른 키워드가 있는가, 또는하여 다른 값으로 참고?
ajv.addKeyword('modify_current', {
modifying: true,
validate: function (schema_parameter_value, validated_parameter_value, validation_schema_object, current_data_path, validated_parameter_object, validated_parameter) {
validated_parameter_object[validated_parameter] = schema_parameter_value;
return true;
},
errors: false
});
그리고 스키마에 :
"then": { "modify_current": "brick" }