Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
json模式目录的Linter_Json_Jsonschema_Lint - Fatal编程技术网

json模式目录的Linter

json模式目录的Linter,json,jsonschema,lint,Json,Jsonschema,Lint,我的团队构建了一个API,其中所有的输入和输出都使用JSON模式来验证数据,项目正在增长,昨天我检测到我们已经有85个JSON文件,每个文件上都有一个JSON模式来验证某些内容,我还检测到我要对每个文件进行很多重构,例如,应该提取大量重复的代码,并将其作为单个模式放置,并在每个文件上引用此模式。所以我试着用谷歌搜索一个库来扫描这个目录,帮助我检测这种错误,还有一个JSON模式linter来帮助我检测其他错误,但我什么也找不到。所以我发布这个问题是想知道是否有人遇到了同样的问题,并找到了解决问题的

我的团队构建了一个API,其中所有的输入和输出都使用JSON模式来验证数据,项目正在增长,昨天我检测到我们已经有85个JSON文件,每个文件上都有一个JSON模式来验证某些内容,我还检测到我要对每个文件进行很多重构,例如,应该提取大量重复的代码,并将其作为单个模式放置,并在每个文件上引用此模式。所以我试着用谷歌搜索一个库来扫描这个目录,帮助我检测这种错误,还有一个JSON模式linter来帮助我检测其他错误,但我什么也找不到。所以我发布这个问题是想知道是否有人遇到了同样的问题,并找到了解决问题的工具。

对于我现在正在进行的项目,我们用于验证JSON模式文件,而不是“linting”本身,但应该是您要找的。

对于我现在正在进行的项目,我们用于验证JSON模式文件,不是“linting”本身,但应该是您所寻找的。

我以前从未使用过此库,但下面是一个示例,说明您可以做些什么。图书馆本身不是这里的重要部分

下载并将其另存为
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中,以便您可以验证模式,但下面就是它们所做的全部工作。