【发布时间】:2019-09-24 14:31:01
【问题描述】:
我想使用一个框架来根据某些标准验证给定的 json,例如:
- 可选字段。
- 必填字段。
- 从架构中拒绝具有未指定字段的 json。
节点是否有某种框架可以做到这一点?
【问题讨论】:
我想使用一个框架来根据某些标准验证给定的 json,例如:
节点是否有某种框架可以做到这一点?
【问题讨论】:
不了解框架,但 ajv 是一个不错的库 https://github.com/epoberezkin/ajv
【讨论】:
有一个轻量级的 ts-interface-checker 可以很好地与 TypeScript 和 ts-interface-builder 配合使用,但也可以单独使用。
例如:
const t = require("ts-interface-checker");
const {Square} = t.createCheckers({
Square: t.iface([], {
"size": "number",
"color": t.opt("string"),
})
});
Square.check({size: 1}); // OK
Square.check({size: 1, color: "green"}); // OK
Square.check({color: "green"}); // Fails with "value.size is missing"
Square.check({size: 4, color: 5}); // Fails with "value.color is not a string"
Square.strictCheck({size: 4, spin: 5}); // Fails with "value.spin is extraneuous"
【讨论】: