Junior
JSON sxemasi nima?
sobes.tech AI
AIdan javob
JSON sxemasi (JSON Schema) — bu JSON asosida yaratilgan leksik standart bo‘lib, JSON formatidagi ma’lumotlarning tuzilishi va cheklovlarini tavsiflash uchun ishlatiladi. Bu JSON ma’lumotlarini validatsiya qilish, tavsiflash va hujjatlashtirish imkonini beradi.
Asosiy maqsadlar:
- Validatsiya: JSON nusxasining belgilangan tuzilishga mos kelishini tekshirish.
- Hujjatlashtirish: JSON ma’lumotlar formatini tavsiflash.
- O‘zaro ta’sir: Tizimlar o‘rtasida metama’lumotlar almashinuvi.
JSON sxemasining asosiy komponentlari:
- Ma’lumot turlari:
string,number,integer,boolean,object,array,null. - Cheklovlar uchun kalit so‘zlar:
type: Kutilyotgan ma’lumot turi.properties: Ob’ektning xususiyatlarini tavsiflash. Har bir xususiyat o‘zining kichik sxemasiga ega.required: Majburiy xususiyatlar ro‘yxati.items: Massiv elementlarini tavsiflash.minLength/maxLength: Stringlar uchun uzunlik cheklovlari.minimum/maximum: Raqamlar uchun cheklovlar.pattern: String uchun muntazam ifoda.enum: Ruxsat etilgan qiymatlar ro‘yxati.allOf/anyOf/oneOf/not: Mantiqiy kombinatsiyalar.
- Metama’lumotlar uchun kalit so‘zlar:
title: Sxemaning qisqa nomi.description: Sxemaning batafsil tavsifi.default: Standart qiymat.
JSON sxemasining misoli:
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Foydalanuvchining noyob identifikatori"
},
"username": {
"type": "string",
"minLength": 3
},
"isActive": {
"type": "boolean",
"default": true
}
},
"required": [
"id",
"username"
]
}
Bu sxemaga mos keladigan valid JSON ma’lumotlar misoli:
{
"id": 123,
"username": "testuser",
"isActive": false
}
Bu sxemaga mos kelmaydigan invalid JSON ma’lumotlar misoli:
{
"id": "abc" // Noto‘g‘ri tur
// Majburiy maydon "username" yo‘q
}
JSON sxemasidan QA avtomatlashtirishda foydalanish:
- API javoblarini validatsiya qilish: JSON javoblar belgilangan formatga mos kelishini tekshirish.
- So‘rovlarni validatsiya qilish: Kiruvchi JSON ma’lumotlarini ularni ishlashdan oldin tekshirish.
- Test ma’lumotlarini yaratish: Sxemadan foydalanib, valid (yoki invalid) misollar yaratish.
- Hujjatlashtirish: API uchun avtomatik yangilanadigan hujjatlarni yaratish.
Turli dasturlash tillarida JSON sxemalari bilan ishlash uchun kutubxonalar mavjud (masalan, Python uchun jsonschema, Java uchun json-schema-validator).