onlinetools.dev

JSON Schema Doğrulayıcı ve Üreteci

JSON’u bir şemaya göre doğrulayın ya da örnek veriden şema çıkarın

Yerelde çalışır
loading…
Bu araç hakkında

Aynı disiplinin iki yönü: örnek bir JSON yapıştırın ve ondan çıkarılmış bir draft-07 şeması alın ya da veriyle birlikte bir şema yapıştırın ve her ihlali JSON yoluyla birlikte listelenmiş görün. Doğrulama Ajv üzerinde çalışır — çoğu Node servisinin kullandığı motorun aynısı — yani burada geçen, CI’da da geçer.

Çıkarım üretim odaklıdır: nesne anahtarları türlü özelliklere ve required girdilerine dönüşür, diziler tüm üyelerinin şekillerini birleştirir, tam sayılar ondalıklardan ayırt edilir ve yalnızca bazı dizi üyelerinde görünen anahtarlar doğru biçimde required dışında bırakılır. Sonuç, biçimler, aralıklar ve desenlerle sıkılaştıracağınız bir başlangıç noktasıdır.

API yanıtları ve yapılandırma dosyaları, üçüncü taraf bir sunucuda en son isteyeceğiniz verilerdir. Hem çıkarım hem doğrulama tamamen tarayıcınızda çalışır.

Sıkça sorulan sorular

Hangi JSON Schema taslağı destekleniyor?
Çıkarım, editörler ve doğrulayıcılar arasında en yaygın desteklenen taslak olan draft-07 üretir. Doğrulama, draft-07’yi ve Ajv’nin katı olmayan kipte anladığı önceki taslakları kabul eder; bilinmeyen anahtar kelimeler ölümcül olmak yerine yok sayıldığından 2019-09/2020-12 anahtar kelimeleri de çoğunlukla çalışır.
İhlal yollarındaki $ ne anlama geliyor?
JSONPath tarzında belgenin köküdür: $.age üst düzeydeki age özelliği, $.items.2.name ise üçüncü dizi elemanının adı demektir. Boş bir yol ($) ihlalin belgenin kendisiyle ilgili olduğunu gösterir — yanlış tür ya da eksik bir zorunlu özellik.
Çıkarılan şema neden beklediğimden daha katı ya da daha gevşek?
Tam olarak verdiğiniz örneği betimler: her yerde bulunan alanlar required olur ve yalnızca gözlemlenen türlere izin verilir. Daha genel bir şema için daha çeşitli bir örnek verin (temsilî nesnelerden oluşan bir dizi), sonra elle ayarlayın — çıkarım niyeti bilemez.
Doğrulama format, pattern ve diğer kısıt anahtar kelimelerini destekliyor mu?
Yapısal anahtar kelimeler (type, required, properties, items, enum, minimum, pattern…) tümüyle uygulanır. "email" ya da "date-time" gibi format dizgeleri ise doğrulanmaz — bu, format’ın varsayılan olarak açıklama sayıldığı JSON Schema belirtimini yansıtır ve yanlış bir güven duygusundan kaçınır.
İlgili araçlar