Nasıl kullanılır
- Bir JSON örneği yapıştırın veya “Örnek yükle” düğmesine tıklayın.
- Kök şemanın başlığını (title) belirleyin.
- Şemayı kopyalayın veya indirin, ardından format, pattern ve değer aralıkları gibi kısıtlamaları ekleyin.
Seçeneklerin açıklaması
- Kök tür adı
- Şemanın title değeri olarak kullanılır.
Örnekler
{"id": 1, "email": null}, "id": {"type": "integer"}, "email": {"type": "null"} ve required içinde her iki anahtarı da barındıran bir şemaya dönüşür.
Örnek
Yalnızca ilkinin e-postası olan ve manager değerinin bazen null olduğu iki kullanıcı kaydı:
[
{ "id": 1, "name": "Ada", "email": "ada@example.com", "tags": ["admin"], "manager": null },
{ "id": 2, "name": "Grace", "tags": [], "manager": { "id": 1 } }
]
Kök tür adı User olarak ayarlandığında, üretilen şema şöyledir:
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "User",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": { "type": "integer" },
"name": { "type": "string" },
"email": { "type": "string" },
"tags": { "type": "array", "items": { "type": "string" } },
"manager": {
"anyOf": [
{ "type": "null" },
{ "type": "object", "properties": { "id": { "type": "integer" } }, "required": ["id"] }
]
}
},
"required": ["id", "name", "tags", "manager"]
}
}
İkinci kayıtta olmadığı için email, required dışında bırakılır; manager ise örnekte ikisi de bulunduğundan null ya da nesneyi kabul eder. Örnek verileriniz ne kadar çeşitliyse şema o kadar doğru olur — tek bir kayıt yerine birkaç kayıt yapıştırın.
Yaygın kullanımlar
API girdisini doğrulama. Şemayı Ajv (JavaScript) veya jsonschema (Python) gibi bir doğrulayıcıya yükleyin ve uymayan istekleri reddedin.
Bir API’yi belgelendirme. Başlangıç noktası olarak özellikleri bir OpenAPI components.schemas bölümüne yapıştırın.
Düzenleyicide otomatik tamamlama. VS Code ve JetBrains IDE’leri, JSON yapılandırma dosyalarında anahtarları önermek ve hataları işaretlemek için bir JSON Schema kullanabilir.
Sıkça sorulan sorular
Hangi anahtarlar zorunlu (required) olarak işaretlenir?
Her örnek nesnede bulunan anahtarlar. Bir dizi farklı anahtarlara sahip nesneler içerdiğinde, bazı öğelerde eksik olan anahtarlar required listesine alınmaz.
OpenAPI ile kullanabilir miyim?
OpenAPI 3.1 JSON Schema 2020-12 kullanır, bu yüzden oluşturulan şema doğrudan components/schemas altına yerleştirilebilir. OpenAPI 3.0 için ["string", "null"] gibi tür dizilerini nullable true ile değiştirin.
E-posta veya date-time gibi formatları algılar mı?
Hayır. Yalnızca türleri çıkarır. Gerektiğinde format, pattern, minimum ve benzeri anahtar kelimeleri elle ekleyin.
JSON’um sunucuya yükleniyor mu?
Hayır. Şema tarayıcınızda oluşturulur; böylece gerçek veri içeren API yanıtları cihazınızda kalır.
Gizlilik
Bu araç tamamen tarayıcınızda çalışır. Dosyalarınız ve metinleriniz cihazınızda işlenir, sunucularımıza asla yüklenmez.