Junior
Mi az a JSON séma?
sobes.tech MI
Válasz az MI-től
A JSON séma (JSON Schema) egy lexikális szabvány, amely a JSON alapjaira épül, és a JSON formátumú adatok szerkezetét és korlátait írja le. Lehetővé teszi a JSON adatok validálását, leírását és dokumentálását.
Fő célok:
- Validálás: Ellenőrizni, hogy egy JSON példány megfelel-e egy meghatározott szerkezetnek.
- Dokumentáció: A JSON adatformátum leírása.
- Interakció: Metaadatok cseréje rendszerek között.
A JSON séma fő összetevői:
- Adattípusok:
string,number,integer,boolean,object,array,null. - Kulcsszavak korlátozásokhoz:
type: Várt adattípus.properties: Egy objektum tulajdonságainak leírása. Minden tulajdonságnak saját al-sémája van.required: Kötelező tulajdonságok listája.items: Egy tömb elemeinek leírása.minLength/maxLength: Karakterláncok hosszúságának korlátozása.minimum/maximum: Számokra vonatkozó korlátozások.pattern: Reguláris kifejezés karakterláncokra.enum: Engedélyezett értékek listája.allOf/anyOf/oneOf/not: Logikai kombinációk sémák között.
- Metaadat kulcsszavak:
title: A séma rövid címe.description: A séma részletes leírása.default: Alapértelmezett érték.
Példa JSON séma:
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Felhasználó egyedi azonosítója"
},
"username": {
"type": "string",
"minLength": 3
},
"isActive": {
"type": "boolean",
"default": true
}
},
"required": [
"id",
"username"
]
}
Érvényes JSON-adatok példája a séma szerint:
{
"id": 123,
"username": "testuser",
"isActive": false
}
Érvénytelen JSON-adatok példája a séma szerint:
{
"id": "abc" // Hibás típus
// Hiányzik a kötelező "username" mező
}
A JSON séma használata QA automatizálásban:
- API-válaszok validálása: Ellenőrizni, hogy a JSON-válaszok megfelelnek-e a formátumnak.
- Kérések validálása: Bejövő JSON-adatok ellenőrzése feldolgozás előtt.
- Tesztadatok generálása: A séma használata érvényes (vagy érvénytelen) példák létrehozására.
- Dokumentáció: Automatikusan frissített API-dokumentáció készítése.
Különböző programozási nyelveken léteznek könyvtárak a JSON-sémákkal való munkához (pl. jsonschema Pythonhoz, json-schema-validator Java-hoz).