使用 AJV for Json Schema 修改数据

克沙泰什

我在 NodeJs 上使用 AJV(另一个 Json 模式验证器)。

我有以下架构

var schema = {
    "$id": "testSchema.json",
    "type": "object",
    "$schema": "http://json-schema.org/draft-06/schema#",
    "additionalProperties": false,
    "properties": {
        "userId": {
            "type": "integer"
        },
        "userName": {
            "type": "string"
        },
        "uniqueID": {
            "type": "integer"
        }
    }
}

我需要unqiueID通过我可以以某种方式传递给 Json 模式或 AJV 的值覆盖属性。我认为以上可以使用 AJV addKeyword 方法完成,尝试使用它但失败了,因为我不知道如何操作(和返回)来自 AJV 自定义关键字的数据值。是否可以使用 AJV 修改数据?或者有没有其他可能的方法来做到这一点?谢谢!

维鲁托普

您可以使用功能创建自定义关键字,该关键字可以对数据执行任何操作。

var Ajv = require('ajv');
var ajv = new Ajv({allErrors: true});

ajv.addKeyword('my_id_rewrite', {
  type: 'object',
  compile: function (sch, parentSchema) {
            return function (data) { 
                console.log(data)
                data['my_id']=parentSchema.my_id_rewrite;
                return true; 
            }
  }
});

var schema = { "my_id_rewrite": 2 };
var validate = ajv.compile(schema);
o = {"my_id":1}
console.log(validate(o)); // true
console.log(o); // Object {my_id: 2}

https://runkit.com/embed/cxg0vwqazre3

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何让 AJV (v5.0.0) 使用 JSON Schema 0.7?

来自分类Dev

如何使用Ajv编译JSON模式的子集?

来自分类Dev

使用Ajax修改数据并将其保存在JSON文件中

来自分类Dev

使用Ajax修改数据并将其保存在JSON文件中

来自分类Dev

从 JSON 中提取数据并修改数据

来自分类常见问题

如何使用foreach修改数组数据

来自分类Dev

使用SPARQL更新修改数据

来自分类Dev

使用ramda修改数组中的数据

来自分类Dev

使用SPARQL更新修改数据

来自分类Dev

如何将AJV与依赖的json方案一起使用?

来自分类Dev

使用SMO修改数据和日志文件属性

来自分类Dev

我可以使用SSRS修改数据吗?

来自分类Dev

Python Panda:如何使用多个值修改数据框

来自分类Dev

使用MySQL Workbench修改数据库架构

来自分类Dev

使用Scapy即时修改数据包?

来自分类Dev

使用功能修改数据框中的列

来自分类Dev

如何使用dstore请求访问/修改数据

来自分类Dev

在程序中检查/修改数据时使用读锁

来自分类Dev

TSQL 使用 SUBSTRING PATINDEX 和 STUFF 修改数据

来自分类Dev

R 使用 dplyr 创建或修改数据框

来自分类Dev

使用 iterrows() 修改数据框中的列 - 类型错误

来自分类Dev

Json Schema-使用引用使用枚举

来自分类Dev

使用 Fastify 和 AJV 验证请求模式

来自分类Dev

将 JSON 数据传递给 WebApi 而不修改数据库

来自分类Dev

Json Schema:根据使用类型验证类型

来自分类Dev

带有@符号的JBuilder json键,可使用json-ld使用schema.org元数据

来自分类Dev

Python-Eve:在插入数据库之前,使用请求前事件挂钩修改数据

来自分类Dev

使用来自另一个数据框的值修改数据框

来自分类Dev

使用liquibase时数据类型相同修改数据类型

Related 相关文章

热门标签

归档