json和json schema
JSON 和 JSON Schema 是两个紧密相关但功能完全不同的概念,前者是数据格式,后者是用于描述和验证前者的规则。以下从定义、作用、结构等方面详细说明两者的区别:
1、定义与核心作用
- JSON(JavaScript Object Notation)
是一种轻量级的数据交换格式,基于键值对和数组结构,用于存储和传输结构化数据。
核心作用:承载数据内容,例如接口返回的用户信息、配置文件等。
示例:{ "name": "张三", "age": 25, "isStudent": false }
- JSON Schema
是一种基于 JSON 格式的规范,用于描述 JSON 数据的结构、类型、约束条件(如字段是否必填、数值范围等)。
核心作用:验证 JSON 数据的合法性,确保数据符合预期格式,常用于接口文档、数据校验等场景。
示例(描述上面 JSON 的 Schema):{ "type": "object", "properties": { "name": {"type": "string"}, "age": {"type": "number", "minimum": 0}, "isStudent": {"type": "boolean"} }, "required": ["name", "age"] }
2. 本质区别
| 维度 | JSON | JSON Schema |
|---|---|---|
| 本质 | 数据载体(“内容”) | 规则定义(“说明书”) |
| 用途 | 存储 / 传输数据 | 验证 JSON 数据的格式和约束 |
| 依赖关系 | 可独立存在(无需 Schema) | 必须依赖 JSON 格式来编写 |
| 核心要素 | 键值对、数组、基本数据类型 | 类型(type)、约束(如 required、minimum)、结构描述 |

浙公网安备 33010602011771号