Barcha darslar

Yuqori · 8/12

📐 JSON Schema: uyning qurilish chizmasi

type, required, properties, enum, pattern, $ref — ma'lumotni avtomatik tekshirish.

JSON — uy bo'lsa, JSON Schema — arxitektor chizmasi. U qaysi xonalar majburiy, devor qanday materialdan bo'lishi kerakligini aytadi va ma'lumotni avtomatik tekshirish imkonini beradi.

Oddiy schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": ["ism", "yosh"],
  "properties": {
    "ism": { "type": "string", "minLength": 2 },
    "yosh": { "type": "integer", "minimum": 0, "maximum": 130 },
    "email": { "type": "string", "format": "email" },
    "rol": { "enum": ["admin", "user", "guest"] }
  },
  "additionalProperties": false
}
KalitVazifasi
typeTur: string/number/integer/boolean/object/array/null
requiredMajburiy kalitlar ro'yxati
propertiesHar bir kalit uchun qoida
itemsMassiv elementlari uchun qoida
enum / constRuxsat etilgan qiymatlar
patternRegex bilan matn tekshiruvi
$ref / $defsQayta ishlatiladigan bo'laklar
oneOf / anyOf / allOfMantiqiy kombinatsiyalar
additionalPropertiesOrtiqcha kalitlarga ruxsat bermaslik

Amalda

Ajv (JS), pydantic (Python), zod (TS) kabi vositalar schema asosida validatsiya qiladi. OpenAPI hujjatlari ham JSON Schema ustiga qurilgan.

🛠 Mashq: Mahsulot uchun schema yoz: id (integer), nom (string), narx (number, >0).

mashq.json
Uy mustahkam — JSON to'g'ri ✅

Tekshiruv testi

1. additionalProperties: false nima qiladi?

2. oneOf nimani anglatadi?