Junior
Ce este un schemă JSON?
sobes.tech AI
Răspuns de la AI
Schema-ul JSON (JSON Schema) este un standard lexical bazat pe JSON pentru descrierea structurii și restricțiilor datelor în format JSON. Permite validarea, descrierea și documentarea datelor JSON.
Obiective principale:
- Validare: Verificarea dacă o instanță JSON respectă o anumită structură.
- Documentare: Descrierea formatului datelor JSON.
- Interacțiune: Schimbul de metadate între sisteme.
Componente cheie ale schemei JSON:
- Tipuri de date:
string,number,integer,boolean,object,array,null. - Cuvinte cheie pentru restricții:
type: Tipul de date așteptat.properties: Descrierea proprietăților unui obiect. Fiecare proprietate are propriul sub-schema.required: Lista proprietăților obligatorii.items: Descrierea elementelor unui array.minLength/maxLength: Restricții de lungime pentru șiruri.minimum/maximum: Restricții pentru numere.pattern: Expresie regulată pentru șiruri.enum: Lista valorilor permise.allOf/anyOf/oneOf/not: Combinări logice ale schemelor.
- Cuvinte cheie pentru metadate:
title: Titlul scurt al schemei.description: Descriere detaliată a schemei.default: Valoarea implicită.
Exemplu de schemă JSON:
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Identificatorul unic al utilizatorului"
},
"username": {
"type": "string",
"minLength": 3
},
"isActive": {
"type": "boolean",
"default": true
}
},
"required": [
"id",
"username"
]
}
Exemplu de date JSON valide conform acestui schemă:
{
"id": 123,
"username": "testuser",
"isActive": false
}
Exemplu de date JSON invalide conform acestui schemă:
{
"id": "abc" // Tip greșit
// Câmp obligatoriu "username" lipsește
}
Utilizarea schemei JSON în QA Automation:
- Validarea răspunsurilor API: Verificarea dacă răspunsurile JSON respectă formatul.
- Validarea cererilor: Verificarea datelor JSON intrate înainte de procesare.
- Generarea datelor de test: Utilizarea schemei pentru crearea de exemple valide (sau invalide).
- Documentație: Crearea automată a documentației API.
Există biblioteci pentru lucrul cu scheme JSON în diferite limbaje de programare (de exemplu, jsonschema pentru Python, json-schema-validator pentru Java).