Junior
JSON şeması nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
JSON Şeması (JSON Schema), JSON tabanlı sözlüksel bir standarttır ve JSON formatındaki verilerin yapısını ve kısıtlamalarını tanımlamak için kullanılır. JSON verilerini doğrulama, tanımlama ve belgeleme imkanı sağlar.
Ana hedefler:
- Doğrulama: Bir JSON örneğinin belirli bir yapıya uygun olup olmadığını kontrol etme.
- Belgeleme: JSON veri formatını tanımlama.
- Etkileşim: Sistemler arasında meta veri alışverişi.
JSON şemasının temel bileşenleri:
- Veri türleri:
string,number,integer,boolean,object,array,null. - Kısıtlamalar için anahtar kelimeler:
type: Beklenen veri tipi.properties: Bir nesnenin özelliklerinin açıklaması. Her özellik kendi alt şemasına sahiptir.required: Zorunlu özelliklerin listesi.items: Dizi öğelerinin açıklaması.minLength/maxLength: Stringler için uzunluk kısıtlamaları.minimum/maximum: Sayılar için kısıtlamalar.pattern: Stringler için düzenli ifade.enum: İzin verilen değerlerin listesi.allOf/anyOf/oneOf/not: Şemaların mantıksal kombinasyonları.
- Meta veri anahtar kelimeleri:
title: Şemanın kısa başlığı.description: Şemanın detaylı açıklaması.default: Varsayılan değer.
JSON şemasına örnek:
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Kullanıcı benzersiz kimliği"
},
"username": {
"type": "string",
"minLength": 3
},
"isActive": {
"type": "boolean",
"default": true
}
},
"required": [
"id",
"username"
]
}
Bu şemaya uygun geçerli JSON verisi örneği:
{
"id": 123,
"username": "testuser",
"isActive": false
}
Bu şemaya uygun geçersiz JSON verisi örneği:
{
"id": "abc" // Yanlış veri tipi
// Zorunlu alan "username" eksik
}
JSON şemasını QA Otomasyonunda kullanma:
- API yanıtlarının doğrulanması: JSON yanıtlarının belirlenen formata uygun olup olmadığını kontrol etme.
- İsteklerin doğrulanması: Gelen JSON verilerinin işleme alınmadan önce kontrol edilmesi.
- Test verisi üretimi: Şemayı kullanarak geçerli (veya geçersiz) örnekler oluşturma.
- Belgeleme: Otomatik olarak güncellenen API dokümantasyonu oluşturma.
Farklı programlama dillerinde JSON şemalarıyla çalışma kütüphaneleri mevcuttur (örneğin, Python için jsonschema, Java için json-schema-validator).