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