首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Ajv修复错误的JSON值

用Ajv修复错误的JSON值
EN

Stack Overflow用户
提问于 2017-03-05 19:02:37
回答 1查看 344关注 0票数 0

当属性值与指定值不同时,我试图修复它们。

杰森:

代码语言:javascript
复制
{
    "stone": "bri"
}

如果不是“砖块”的话,我想把这块石头修复成“砖块”。

模式:

代码语言:javascript
复制
{
    "required": [
        "stone"
    ],
    "properties": {
        "stone": {
            "type": "string",
            "if": { 
                "not": {
                    "constant": "brick"
                }
            },
            "then": { "default": "brick" }
        }
    }
}

使用v4.11.4:

代码语言:javascript
复制
var ajv = new Ajv({ useDefaults: true, v5: true });
require('ajv-keywords')(ajv);

有没有其他关键字,我可以使用基本上将值更改为好的,或通过引用的其他值?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-13 00:44:21

使用自定义关键字解决:

代码语言:javascript
复制
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
});

在模式中:

代码语言:javascript
复制
"then": { "modify_current": "brick" }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42612666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档