如何使 ajv-cli 考虑格式

Arm*_*nis 5 json ajv

我一直在尝试ajv-cli并尝试使其验证使用“ipv4”和“主机名”等标准格式的 json 方案。

尽管已ajv-formats安装,但调用时:

ajv --strict=false --validate-formats=true compile -s 2438.schema.json
Run Code Online (Sandbox Code Playgroud)

ajv抱怨:

unknown format "host-name" ignored in schema at path "#/definitions/ip-address/anyOf/0"
unknown format "host-name" ignored in schema at path "#/definitions/ip-address/anyOf/0"
unknown format "ipv4" ignored in schema at path "#/definitions/ip-address/anyOf/1"
unknown format "ipv4" ignored in schema at path "#/definitions/ip-address/anyOf/1"
unknown format "ipv6" ignored in schema at path "#/definitions/ip-address/anyOf/2"
unknown format "ipv6" ignored in schema at path "#/definitions/ip-address/anyOf/2"
Run Code Online (Sandbox Code Playgroud)

我如何ajv-cli接受标准格式?我错过了一些明显的东西吗?

提前致谢!

jgr*_*ran 12

我今天遇到了同样的情况,试图熟悉特定的 json schema。我搜索了一个验证工具,发现了ajv-cli

> npm install ajv-cli
> npx ajv validate -s maDMP-schema-1.1.json -d foo.json
schema maDMP-schema-1.1.json is invalid
error: unknown format "email" ignored in schema at path "#/properties/dmp/properties/contact/properties/mbox"
Run Code Online (Sandbox Code Playgroud)

我花了一段时间才发现-c 选项

> npm install ajv-formats
> npx ajv validate -s maDMP-schema-1.1.json -d foo.json -c ajv-formats
foo.json valid
Run Code Online (Sandbox Code Playgroud)

希望这是正确的方法!