İçeriğe geç

JSON Schema doğrulayıcı

Şemanızı ve örnek JSON'u yapıştırın; hangi alanın hangi kuralı bozduğunu örnek yolu ($.kalemler[0].adet) ve şema yoluyla görün. Desteklenmeyen anahtar kelimeler sessizce geçilmez, ayrı listelenir. Hesap tarayıcıda yapılır; şema ve veri hiçbir yere gönderilmez.

Ücretsiz araç · Entegrasyon

Her kutuya geçerli bir JSON belgesi yapıştırın. Şema nesne ya da true/false olabilir; draft 2020-12 kuralları uygulanır.

Doğrulama tarayıcınızda yapılır; şema ve JSON hiçbir yere gönderilmez, saklanmaz.

Sonuç

Denetlemek için şemayı ve örnek JSON'u yapıştırın ya da örnek yükleyin.

Desteklenen kurallar
  • Tür ve değer: type (tek ya da dizi, integer dahil), enum, const.
  • Nesne: properties, required, additionalProperties (boolean ya da şema), minProperties, maxProperties.
  • Dizi: items (prefixItems sonrası), prefixItems, minItems, maxItems, uniqueItems.
  • Sayı: minimum, maximum, exclusiveMinimum, exclusiveMaximum, multipleOf (ondalık kayması olmadan: 0,3 değeri 0,1'in katıdır).
  • Metin: minLength, maxLength (Unicode karakter sayar), pattern (ECMAScript düzenli ifadesi, metnin herhangi bir yerinde eşleşme), format (yalnızca email, date, date-time, uri, uuid; basit denetim).
  • Bileşim: allOf, anyOf, oneOf, not. Başvuru: $ref yalnızca aynı belge içi işaretçiler (#, #/$defs/ad).
  • title, description, default, examples, $comment gibi açıklama alanları yok sayılır; yukarıdakiler dışındaki her anahtar kelime "desteklenmiyor" diye listelenir.
  • Yollar: örnek yolu $ kökünden başlar ($.a[0].b, boşluklu anahtar $["a b"]); şema yolu kuralın şema belgesindeki konumudur (#/properties/a/type; $ref sonrası #/$defs/ad/type).

Bu araç JSON Schema'nın bir alt kümesini uygular ve tam bir uyumluluk denetleyicisi değildir. Desteklenmeyen kelimeler değerlendirilmez, format denetimleri basittir ve şemanın kendisi üst şemaya karşı doğrulanmaz. Üretimdeki doğrulamayı kendi yığınınızdaki bir kütüphaneyle (ör. Ajv, jsonschema) yapın.

Sistemler arasındaki veri sözleşmelerini ve doğrulama kurallarını birlikte tasarlamak ister misiniz? Şema, sürümleme ve hata yönetimini konuşabiliriz.

Görüşme talep edin

01

Nasıl kullanılır

  1. A

    Şemayı ve denetlenecek örnek JSON'u yapıştırın; bozuk JSON'da hangi kutuda ve hangi satır/sütunda olduğunu görürsünüz.

  2. B

    İhlal listesinde örnek yoluna ve şema yoluna bakın: hangi alanın hangi kuralı bozduğu satır satır yazılır.

  3. C

    Desteklenmeyen anahtar kelimeler listesini kontrol edin; orada çıkanlar bu araçta değerlendirilmemiştir.

02

Ne denetleniyor?

JSON Schema, bir JSON belgesinin yapısını ve değer kurallarını tanımlayan bir sözleşmedir: hangi alanlar zorunlu, hangi türde, hangi aralıkta, hangi desende. Bu araç örneğin şemaya uyup uymadığını söyler ve uymayan her yeri listeler; ilk hatada durmaz.

Entegrasyonlarda şema, iki sistemin veri sözleşmesidir: bir webhook yükünü, bir API yanıtını ya da bir içe aktarma dosyasını göndermeden önce şemayla denetlemek, hataları üretimde değil geliştirmede yakalar.

03

Yolları okumak

Her ihlalin iki konumu vardır. Örnek yolu hatalı değerin yerini gösterir: $.kalemler[0].adet, kökten başlayarak kalemler dizisinin ilk öğesinin adet alanıdır. Şema yolu hangi kuralın bozulduğunu gösterir: #/$defs/kalem/properties/adet/minimum.

$ref kullanıldığında şema yolu başvurulan tanıma gider; böylece aynı tanımı kullanan birçok alanda hatanın hangi kuraldan geldiğini görürsünüz.

04

Kapsam ve sınırlar

Araç draft 2020-12'nin sık kullanılan bir alt kümesini uygular (tür, zorunlu alan, aralıklar, desen, enum, bileşimler, aynı belge içi $ref). if/then/else, patternProperties, contains, dependentRequired, unevaluatedProperties ve dış $ref gibi kelimeler değerlendirilmez; bunlar her seferinde ayrı listelenir, çünkü değerlendirilmeyen bir kural sonucun yanlışlıkla "geçerli" çıkmasına yol açabilir.

format yalnızca email, date, date-time, uri ve uuid için ve basit biçimde denetlenir. Standart, format'ı varsayılan olarak yalnızca açıklama sayar; bu araç bu beş biçimi doğrulama olarak uygular.

Sık sorulanlar

Şemam ve verim bir yere gönderiliyor mu?
Hayır. Doğrulama tarayıcınızda çalışır; şema ve örnek JSON sunucuya gönderilmez ya da saklanmaz. Yine de müşteri verisi içeren örnekleri paylaşmadan önce anonimleştirmenizi öneririz.
Bu araç şemamı doğruluyor mu, yoksa örneği mi?
Örneği şemaya karşı denetler. Şemanın kendisini üst şemaya karşı tam olarak doğrulamaz; yalnızca belirgin sorunları (geçersiz type adı, bozuk düzenli ifade, çözülemeyen $ref, yanlış değer türü) "şemadaki sorunlar" olarak bildirir.
Neden "desteklenmeyen anahtar kelimeler" listesi var?
Değerlendirilmeyen bir kural sessizce geçilirse örnek geçerli görünür ama aslında denetlenmemiştir. Bu yüzden şemada bulunan ama uygulanmayan her anahtar kelime ve her bilinmeyen format adı ayrı listelenir. Sonuç, bu liste boşsa tam anlamıyla desteklenen kurallar için güvenilirdir.
Sayı 1.0 integer sayılır mı?
Evet. 2020-12'de değeri tam sayı olan her sayı integer'dır; 1.0 da öyledir. JSON metninde yazılış biçimi (1 ya da 1.0) ayırt edilmez, çünkü ayrıştırıcı iki değeri de aynı sayı olarak okur.
pattern ile format farkı nedir?
pattern düzenli ifadedir ve metnin herhangi bir yerinde eşleşir; baştan sona eşleşme için ^ ve $ yazmalısınız. format ise adlandırılmış bir biçimdir (e-posta, tarih…); bu araç yalnızca beş biçimi basitçe denetler. E-posta denetimi örneğin tam bir RFC 5322 doğrulaması değildir.
Bu araç Ajv ya da başka bir doğrulayıcının yerine geçer mi?
Hayır. Hızlı bir kontrol ve şema yazarken geri bildirim içindir. Üretimde şemayı derleyen, tam taslak desteği ve ayrıntılı format denetimi sunan bir kütüphane kullanın ve şemayı sürümleyin.

Veri sözleşmelerinizi birlikte tasarlayalım

CRM, ERP ve üçüncü taraf sistemler arasındaki veri akışları için şema, sürümleme ve hata yönetimi tasarlıyoruz. Ücretsiz keşif görüşmesinde mevcut akışınızı konuşalım.