素材阁

JSON Schema 速查

共 24 条 JSON Schema 常用关键字,涵盖基础结构、值约束、数组与对象、组合与引用、校验工具。 支持搜索与分类筛选,点击即可复制。

基础结构

用 JSON 描述 JSON 的结构。

命令说明
声明使用的草案版本
限定类型(object/array/string/number/integer/boolean/null)
定义对象各字段
必填字段列表
文档与示例元信息

值约束

数值、字符串与枚举。

命令说明
字符串长度
数值范围(exclusiveMinimum/Maximum 为排他)
正则约束
取值枚举
常见格式(需校验器支持)

数组与对象

集合与额外字段控制。

命令说明
数组元素模式
数组长度与去重
元组式固定位置元素
禁止未声明的字段
对象字段数量限制

组合与引用

复用与逻辑组合。

命令说明
同时满足全部子模式
满足任一 / 恰好一个
取反
引用可复用片段
定义可复用子模式

校验工具

常用校验器。

命令说明
AJV(JS)命令行校验
Python jsonschema 校验
check-jsonschema 工具
在代码中编译并校验

使用说明

JSON Schema 速查:基础结构、值约束、数组与对象、组合与引用、校验工具;支持搜索与分类筛选,点击即可复制。

  1. 按用途点分类:基础结构、值约束、数组与对象、组合与引用、校验工具。
  2. 点「命令」列复制关键字到 schema。
  3. 用 $defs + $ref 抽出可复用模型,避免重复定义。
  4. 接口入参、配置校验都可用它统一约束。

常见问题

additionalProperties: false 有什么用?
禁止出现未声明的字段,能挡住拼写错误和多余字段,是接口校验的常用加固。
allOf 和 oneOf 的区别?
allOf 要求同时满足全部子模式;oneOf 要求恰好满足其中一个,多一个少一个都算失败。
需要联网吗?
不需要,本地可用。

延伸阅读

相关工具