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).