Json валидатор для узла - PullRequest
0 голосов
/ 07 мая 2019

Я хотел бы использовать каркас, который проверяет данный JSON в соответствии с некоторыми критериями, например:

  • необязательные поля.
  • обязательные поля.
  • отклонить jsons, у которых не заданы поля из схемы.

Есть ли какая-то структура для узла, чтобы сделать это?

Ответы [ 2 ]

1 голос
/ 07 мая 2019

Существует облегченный 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"
1 голос
/ 07 мая 2019

не знаю о фреймворке, но ajv - хорошая библиотека для этого https://github.com/epoberezkin/ajv

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...