Junior
JSON sxeması nədir?
sobes.tech Süni İntellekt
AI-dan cavab
JSON sxeması (JSON Schema) JSON-ə əsaslanan leksik standartdır və JSON formatında məlumatların quruluşunu və məhdudiyyətlərini təsvir etmək üçün istifadə olunur. Bu, JSON məlumatlarının doğrulanması, təsviri və sənədləşdirilməsi imkanını verir.
Əsas məqsədlər:
- Doğrulama: JSON nümunəsinin müəyyən bir quruluşa uyğun olub-olmadığını yoxlamaq.
- Sənədləşdirmə: JSON məlumat formatını təsvir etmək.
- Əlaqə: Sistemlər arasında metama məlumatların mübadiləsi.
JSON sxemasının əsas komponentləri:
- Məlumat tipləri:
string,number,integer,boolean,object,array,null. - Məhdudiyyətlər üçün açar sözlər:
type: Gözlənilən məlumat tipi.properties: Ob’ektin xüsusiyyətlərinin təsviri. Hər bir xüsusiyyət öz alt sxemasına malikdir.required: Zəruri xüsusiyyətlərin siyahısı.items: Massivin elementlərinin təsviri.minLength/maxLength: Stringlərin uzunluğu üçün məhdudiyyətlər.minimum/maximum: Rəqəmlər üçün məhdudiyyətlər.pattern: String üçün müntəzəm ifadə.enum: İcazə verilən dəyərlərin siyahısı.allOf/anyOf/oneOf/not: Məntiqi kombinasiyalar.
- Meta məlumatlar üçün açar sözlər:
title: Sxemanın qısa adı.description: Sxemanın ətraflı təsviri.default: Standart dəyər.
JSON sxemasına nümunə:
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "İstifadəçinin unikal identifikatoru"
},
"username": {
"type": "string",
"minLength": 3
},
"isActive": {
"type": "boolean",
"default": true
}
},
"required": [
"id",
"username"
]
}
Bu sxemaya uyğun keçərli JSON məlumat nümunəsi:
{
"id": 123,
"username": "testuser",
"isActive": false
}
Bu sxemaya uyğun keçərsiz JSON məlumat nümunəsi:
{
"id": "abc" // Yanlış tip
// Zəruri sahə "username" yoxdur
}
JSON sxemasından QA Avtomatlaşdırmasında istifadə:
- API cavablarının doğrulanması: JSON cavablarının müəyyən formata uyğun olub-olmadığını yoxlamaq.
- Sorğuların doğrulanması: Gələn JSON məlumatlarının işlənmədən əvvəl yoxlanması.
- Test məlumatlarının yaradılması: Sxemadan istifadə edərək keçərli (və ya keçərsiz) nümunələr yaratmaq.
- Sənədləşdirmə: Avtomatik olaraq yenilənən API sənədlərinin yaradılması.
Fərqli proqramlaşdırma dillərində JSON sxemləri ilə işləmək üçün kitabxanalar mövcuddur (məsələn, Python üçün jsonschema, Java üçün json-schema-validator).