You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux命令行下如何通过元Schema校验完整JSON Schema文件合法性

你之前的校验逻辑完全搞反了。
你要排查自己写的JSON Schema文件里的拼写错误,本质是校验你写的Schema本身是否符合JSON Schema规范,这时候应该把你写的Schema文件当成「待校验的普通JSON实例」,用官方提供的元Schema作为校验规则。
你之前把自己写的Schema当成校验规则去跑,触发了JSON Schema的默认逻辑:properties字段下定义的约束,只有待校验实例存在对应字段时才会生效。你把test02.json当成实例校验的时候,实例里根本没有browser这个字段,自然不会检查properties.browser下的type拼写错误。


正确操作步骤

1. 直接执行元Schema校验

你已经提前下载了2020-12版本的全套元Schema,存放在meta目录下,直接执行以下命令就能校验你写的Schema(以test02.json为例)的全层级错误:

jsonschema -i test02.json ./meta/core.json

执行后就会正常抛出嵌套层级的objectx拼写错误。

2. 离线校验配置

如果提示无法拉取元Schema引用,可通过--schema-store参数指定本地元Schema的映射,不需要联网就能完成校验:

jsonschema --schema-store '{"https://json-schema.org/draft/2020-12/": "./meta/"}' -i test02.json ./meta/core.json

可选替代工具

如果觉得Python jsonschema的参数配置繁琐,也可以用AJV的命令行工具ajv-cli,对Schema规范的支持更完善,操作更简便:

# 先安装Node.js环境后执行全局安装
npm install -g ajv-cli
# 执行全层级Schema校验
ajv validate -s https://json-schema.org/draft/2020-12/schema -d test02.json --strict

内容的提问来源于stack exchange,提问作者eNca

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 04:39:01