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 "

Скачать Visual Studio 2019 бесплатно
CSS Import: Adding External Styles to Your Web Pages Made Easy
Bolep - средство №1 в борьбе с болями
FS TO - лучший сервис для обмена файлами без ограничений и регистрации
Создание React приложения с помощью npm
Как установить и настроить OpenSSH на Windows 10
DigitalRead: новости, инструкции, обзоры и многое другое
Deferred: что это такое и как это работает?
Empty C - компактные и надежные контейнеры для вакуумного упаковывания
Дата PHP - управление датами и временем с помощью PHP