json模式目录的Linter
我的团队构建了一个API,其中所有的输入和输出都使用JSON模式来验证数据,项目正在增长,昨天我检测到我们已经有85个JSON文件,每个文件上都有一个JSON模式来验证某些内容,我还检测到我要对每个文件进行很多重构,例如,应该提取大量重复的代码,并将其作为单个模式放置,并在每个文件上引用此模式。所以我试着用谷歌搜索一个库来扫描这个目录,帮助我检测这种错误,还有一个JSON模式linter来帮助我检测其他错误,但我什么也找不到。所以我发布这个问题是想知道是否有人遇到了同样的问题,并找到了解决问题的工具。对于我现在正在进行的项目,我们用于验证JSON模式文件,而不是“linting”本身,但应该是您要找的。对于我现在正在进行的项目,我们用于验证JSON模式文件,不是“linting”本身,但应该是您所寻找的。我以前从未使用过此库,但下面是一个示例,说明您可以做些什么。图书馆本身不是这里的重要部分 下载并将其另存为json模式目录的Linter,json,jsonschema,lint,Json,Jsonschema,Lint,我的团队构建了一个API,其中所有的输入和输出都使用JSON模式来验证数据,项目正在增长,昨天我检测到我们已经有85个JSON文件,每个文件上都有一个JSON模式来验证某些内容,我还检测到我要对每个文件进行很多重构,例如,应该提取大量重复的代码,并将其作为单个模式放置,并在每个文件上引用此模式。所以我试着用谷歌搜索一个库来扫描这个目录,帮助我检测这种错误,还有一个JSON模式linter来帮助我检测其他错误,但我什么也找不到。所以我发布这个问题是想知道是否有人遇到了同样的问题,并找到了解决问题的
draft04 metaschema.json
(或用于模式的任何元模式)。从npm使用:
npm install -g ajv-cli
ajv validate -s draft04-metaschema.json -d your-schema.json
这将根据指定的元模式验证您的模式,以确保其有效。您可以使用相同的方法,使用您希望的任何其他库来验证您的模式。希望这足以让您开始学习。我以前从未使用过此库,但下面是一个示例,说明您可以做些什么。图书馆本身不是这里的重要部分 下载并将其另存为
draft04 metaschema.json
(或用于模式的任何元模式)。从npm使用:
npm install -g ajv-cli
ajv validate -s draft04-metaschema.json -d your-schema.json
这将根据指定的元模式验证您的模式,以确保其有效。您可以使用相同的方法,使用您希望的任何其他库来验证您的模式。希望这足以让您开始学习。我还必须找到一种验证模式的方法
ajv validate-s draft06-metaschema.json-d您的schema.json
只检查基本内容(例如,它不检查$ref
值和正则表达式)ajv编译-s您的模式。json
检查更多内容并打印错误消息(如error:Invalid regular expression://^(\d|[12]\d|3[01]$/:Unterminated group
)
因此,我使用以下脚本(validate_schema.sh
):
我还必须找到一种验证模式的方法。
ajv validate-s draft06-metaschema.json-d您的模式。json
只检查基本内容(例如,它不检查$ref
值和正则表达式)。ajv compile-s您的模式。json
检查更多内容并打印错误消息(如错误:无效的正则表达式:/^(\d|[12]\d|3[01]$/:未终止的组
)
因此,我使用以下脚本(validate_schema.sh
):
有一个JSON模式linter可用,其中也有一个WebAPI。它捕获JSON模式文件中的一些常见错误。有一个JSON模式linter可用,其中也有一个WebAPI。它捕获JSON模式文件中的一些常见错误。我阅读了tv4文档,但它是一个用于再次验证数据的库st JSON模式不验证JSON模式文件。您可以根据模式中的
$schema
属性定义的元模式验证模式。其他一些库直接在其API中包含此内容,以便您可以验证模式,但下面就是它们所做的一切。我阅读了tv4文档,但它是一个用于验证的库lidate针对JSON模式的数据不验证JSON模式文件,您将根据模式中的$schema
属性定义的元模式验证模式。其他一些库将此直接包含在其API中,以便您可以验证模式,但下面就是它们所做的全部工作。