Sobes.tech
Junior

Какво е JSON схема?

sobes.tech AI

Отговор от AI

JSON схема (JSON Schema) е лексикален стандарт, базиран на JSON, за описание на структурата и ограниченията на данните във формат JSON. Тя позволява валидиране, описание и документация на JSON данни.

Основни цели:

  • Валидиране: Проверка дали JSON пример съответства на определена структура.
  • Документация: Описание на формата на JSON данните.
  • Взаимодействие: Обмен на метаданни между системи.

Ключови компоненти на JSON схемата:

  • Типове данни: string, number, integer, boolean, object, array, null.
  • Ключови думи за ограничения:
    • type: Очакваният тип данни.
    • properties: Описание на свойствата на обекта. Всяко свойство има собствено под-схема.
    • required: Списък на задължителните свойства.
    • items: Описание на елементите на масив.
    • minLength/maxLength: Ограничения за дължината на низове.
    • minimum/maximum: Ограничения за числа.
    • pattern: Регулярен израз за низове.
    • enum: Списък на допустимите стойности.
    • allOf/anyOf/oneOf/not: Логически комбинации на схеми.
  • Ключови думи за метаданни:
    • title: Кратко заглавие на схемата.
    • description: Подробно описание на схемата.
    • default: Стойност по подразбиране.

Пример за JSON схема:

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "description": "Уникален идентификатор на потребителя"
    },
    "username": {
      "type": "string",
      "minLength": 3
    },
    "isActive": {
      "type": "boolean",
      "default": true
    }
  },
  "required": [
    "id",
    "username"
  ]
}

Пример за валидни JSON данни според тази схема:

{
  "id": 123,
  "username": "testuser",
  "isActive": false
}

Пример за невалидни JSON данни според тази схема:

{
  "id": "abc" // Неправилен тип
  // Липсва задължителното поле "username"
}

Използване на JSON схема в QA автоматизация:

  • Валидиране на API отговори: Проверка дали JSON отговорите съответстват на формата.
  • Валидиране на заявки: Проверка на входящите JSON данни преди обработка.
  • Генериране на тестови данни: Използване на схемата за създаване на валидни (или невалидни) примери.
  • Документация: Автоматично поддържана документация за API.

Има библиотеки за работа със JSON схеми на различни езици за програмиране (например, jsonschema за Python, json-schema-validator за Java).