Junior
Шта је JSON шема?
sobes.tech АИ
Одговор од АИ
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).