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