Junior
Cos'è uno schema JSON?
sobes.tech AI
Risposta dell'AI
Lo schema JSON (JSON Schema) è uno standard lessicale basato su JSON per descrivere la struttura e le restrizioni dei dati in formato JSON. Permette di validare, descrivere e documentare i dati JSON.
Obiettivi principali:
- Validazione: Verificare che un'istanza JSON rispetti una determinata struttura.
- Documentazione: Descrivere il formato dei dati JSON.
- Interazione: Scambio di metadati tra sistemi.
Componenti chiave dello schema JSON:
- Tipi di dati:
string,number,integer,boolean,object,array,null. - Parole chiave per le restrizioni:
type: Tipo di dato atteso.properties: Descrizione delle proprietà di un oggetto. Ogni proprietà ha il suo sotto-schema.required: Lista delle proprietà obbligatorie.items: Descrizione degli elementi di un array.minLength/maxLength: Restrizioni sulla lunghezza delle stringhe.minimum/maximum: Restrizioni sui numeri.pattern: Espressione regolare per le stringhe.enum: Lista dei valori ammessi.allOf/anyOf/oneOf/not: Combinazioni logiche di schemi.
- Parole chiave per i metadati:
title: Titolo breve dello schema.description: Descrizione dettagliata dello schema.default: Valore di default.
Esempio di schema JSON:
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Identificatore unico dell'utente"
},
"username": {
"type": "string",
"minLength": 3
},
"isActive": {
"type": "boolean",
"default": true
}
},
"required": [
"id",
"username"
]
}
Esempio di dati JSON validi secondo questo schema:
{
"id": 123,
"username": "testuser",
"isActive": false
}
Esempio di dati JSON non validi secondo questo schema:
{
"id": "abc" // Tipo errato
// Campo obbligatorio "username" mancante
}
Utilizzo dello schema JSON in QA Automation:
- Validazione delle risposte API: Verificare se le risposte JSON rispettano il formato.
- Validazione delle richieste: Verificare i dati JSON in ingresso prima dell'elaborazione.
- Generazione di dati di test: Usare lo schema per creare esempi validi (o non validi).
- Documentazione: Creare documentazione API mantenuta automaticamente.
Esistono librerie per lavorare con gli schemi JSON in diversi linguaggi di programmazione (ad esempio, jsonschema per Python, json-schema-validator per Java).