JSON Schema - описание языка для валидации структур данных

JSON Schema - это схема для проверки корректности и соответствия структуры JSON-данных определенному формату. Она представляет собой описание ожидаемого формата данных и правил, которые должны быть выполнены при их обработке.

Определим простую схему для объекта, который содержит информацию о человеке:


{
  "type": "object",
  "required": ["name", "age"],
  "properties": {
    "name": {
      "type": "string"
    },
    "age": {
      "type": "number"
    },
    "email": {
      "type": "string",
      "format": "email"
    }
  }
}

Здесь мы определили, что объект должен быть типа "object". Также мы указали, что поля "name" и "age" обязательны для заполнения и должны соответствовать типам "string" и "number" соответственно. Для поля "email" мы указали, что оно должно соответствовать типу "string" и иметь формат "email".

Мы можем использовать эту схему для проверки нашего объекта на соответствие ей:


{
  "name": "John",
  "age": 30,
  "email": "john@mail.com"
}

Если мы передадим этот объект на проверку схеме, то она вернет true, так как объект соответствует заданным правилам. Если же мы попытаемся передать объект без обязательного поля "name", то схема вернет false.

Пример кода на языке JavaScript для проверки объекта на соответствие схеме:


const schema = {
  "type": "object",
  "required": ["name", "age"],
  "properties": {
    "name": {
      "type": "string"
    },
    "age": {
      "type": "number"
    },
    "email": {
      "type": "string",
      "format": "email"
    }
  }
};
const person = {
  "name": "John",
  "age": 30,
  "email": "john@mail.com"
};
const Ajv = require('ajv');
const ajv = new Ajv(); // создаем новый экземпляр класса для валидации данных
const validate = ajv.compile(schema); // компилируем схему в функцию валидации
const isValid = validate(person); // проверяем объект на соответствие схеме
console.log(isValid); // true

Здесь мы использовали библиотеку Ajv для компиляции схемы и проверки объекта на соответствие ей. Если объект не проходит проверку, то можно вывести ошибки с помощью метода `validate.errors`.

Похожие вопросы на: "json schema "

Groupby Pandas: The Ultimate Guide for Data Analysts
N G - ваш надежный партнер в мире технологий
Validate JSON: How to Ensure Your Data is Accurate
Библиотека stdio.h: работа со стандартным потоком ввода-вывода в языке программирования C
PHP Docker - Установка и развертывание среды разработки на Docker
Как добавить класс в JavaScript: примеры кода и объяснения
Подключить JS к HTML
<h1>Linux make: учимся создавать и компилировать программы в Linux
Ошибка 503 в протоколе HTTP: причины и способы исправления
<h1>Overflow X - управление переполнением горизонтальной прокрутки