【问题标题】:Json validator for node节点的 Json 验证器
【发布时间】:2019-09-24 14:31:01
【问题描述】:

我想使用一个框架来根据某些标准验证给定的 json,例如:

  • 可选字段。
  • 必填字段。
  • 从架构中拒绝具有未指定字段的 json。

节点是否有某种框架可以做到这一点?

【问题讨论】:

    标签: node.js json schema


    【解决方案1】:

    不了解框架,但 ajv 是一个不错的库 https://github.com/epoberezkin/ajv

    【讨论】:

      【解决方案2】:

      有一个轻量级的 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"
      

      【讨论】:

        猜你喜欢
        • 2019-12-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-27
        • 1970-01-01
        相关资源
        最近更新 更多