0
プロパティ値が指定された値と異なる場合、プロパティ値を修正しようとしています。Ajvで間違ったJSON値を修正しました
JSON:
{
"stone": "bri"
}
私はそれが既に「ブリック」でない場合は、「レンガ」を持っている石のプロパティを修正したいです。
スキーマ:v4.11.4を使用して
{
"required": [
"stone"
],
"properties": {
"stone": {
"type": "string",
"if": {
"not": {
"constant": "brick"
}
},
"then": { "default": "brick" }
}
}
}
:
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" }