我一直在尝试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)
希望这是正确的方法!