生成 Schema 后如何校验 JSON?
Schema 写出来是为了「校验」。最常用的是 Ajv(Node/浏览器都能跑)。
Node 里用 Ajv
import Ajv from "ajv"; const ajv = new Ajv(); const validate = ajv.compile(schema); // schema 就是工具生成的 const data = JSON.parse(inputJson); const ok = validate(data); if (!ok) console.log(validate.errors);
浏览器里校验
同一个 ajv 包也能在浏览器工程里 import,逻辑完全一样。把工具生成的 Schema 当作常量贴进代码即可。
在线快速验证
不想写代码时,可用任意「JSON Schema 校验器」网页,左边贴 Schema、右边贴 JSON,立刻看通过/不通过。适合调文档、对字段。
常见报错
required报错:某条数据缺了必填字段——要么数据缺字段,要么 Schema 把不该必填的标成了必填。type报错:实际类型与 Schema 不符,比如接口把数字返回成了字符串。additionalProperties报错:数据多了 Schema 没声明的字段(说明 Schema 漏字段了)。