JSON Schema Doğrulayıcı

JSON verilerini JSON Schema tanımlarına göre doğrulayın. Yollarla birlikte ayrıntılı hata raporları alın. Tüm işlemler tarayıcınızda yapılır.

Anında Doğrulama Hata Ayrıntıları İstemci Tarafında İşleme

JSON Schema Doğrulayıcı Nasıl Kullanılır

1

Şema Girin

Beklenen yapıyı tanımlayan JSON Schema'nızı tanımlayın.

2

Veri Girin

Şemaya göre doğrulamak istediğiniz JSON verisini yapıştırın.

3

Doğrula

Doğrula'ya tıklayın ve olası hatalar için sonuçları inceleyin.

JSON Schema nedir?

JSON Schema, JSON belgelerine açıklama eklemenize ve onları doğrulamanıza olanak tanıyan bir sözlüktür. Belirli bir uygulama için hangi JSON verisinin gerektiğine ve onunla nasıl etkileşime girileceğine dair bir sözleşme sağlar. JSON Schema; doğrulama, dokümantasyon ve sahte veri üretimi için kullanılır.

Temel Özellikler

Tip Doğrulama

Tipleri doğrulayın: string, number, integer, boolean, array, object, null

Kısıtlamalar

Min/maks uzunluk, aralık, desen, zorunlu alanlar ve daha fazlası

Yapı Tanımı

İç içe nesneler, diziler ve karmaşık veri yapıları tanımlayın

Sıkça Sorulan Sorular

JSON Schema'nın hangi sürümü destekleniyor?

Bu araç, Ajv kitaplığı aracılığıyla JSON Schema Draft-07, Draft 2019-09 ve Draft 2020-12 sürümlerini destekler. En yaygın şema özellikleri desteklenir.

İç içe nesneleri doğrulayabilir miyim?

Evet! JSON Schema, derinlemesine iç içe nesne ve dizileri destekler. Yuvalanmanın herhangi bir seviyesinde properties ve items tanımlayabilir, her alan için ayrı doğrulama kuralları koyabilirsiniz.

Şemam geçersizse ne olur?

Araç önce şemanızın kendisinin geçerli bir JSON Schema olup olmadığını doğrular. Şemada hatalar varsa, veriyi doğrulamaya çalışmadan önce bunlar raporlanır.

En çok hangi JSON Schema anahtar kelimeleri kullanılır?

type (string, number, object, array, boolean, null), iç içe şemalar içeren properties, zorunlu anahtarları listeleyen required, sabit değer kümeleri için enum, regex kısıtlı dizeler için pattern ve aralık kontrolleri minimum/maximum ile minLength/maxLength. additionalProperties: false nesneleri fazla anahtarlara karşı sıkılaştırır. Hepsi birlikte API doğrulama kurallarının büyük kısmını kapsar.

date-time ve email gibi format anahtar kelimeleri nasıl davranır?

Modern JSON Schema'da format varsayılan olarak bir ek açıklamadır, otomatik bir doğrulama değil - doğrulayıcılar yalnızca yapılandırıldığında uygular; 2020-12 belirtimi bunu ayrı bir format-assertion sözlüğüyle açık hale getirdi. Uygulamanın garanti edilmesi gerektiğinde pattern veya özel bir anahtar kelime kullanın; aksi halde format'ı birlikte çalışabilirlik meta verisi olarak görün.

$ref nedir ve şema yeniden kullanımı nasıl çalışır?

#/$defs/address işaret eden $ref, $defs altındaki bir şema parçasına referans verir ve kullanıldığı her yerde ona göre doğrular - yinelenenleri ayıklama mekanizması budur. Draft 2020-12, eski definitions adını $defs olarak değiştirdi ve yorum ağaçları gibi özyinelemeli yapılar için $dynamicRef'ü resmileştirdi. Referanslar harici belgelere de işaret edebilir, ancak yerel olarak paketlemek daha yaygındır.

oneOf, anyOf ve allOf birbirinden nasıl ayrılır?

allOf her alt şemanın doğrulanmasını gerektirir - bir kesişim; temel şemayı ek kısıtlamalarla birleştirmek için kullanılır. anyOf en az birini gerektirir - bir birleşim; çok biçimli yükler için kullanılır. oneOf tam olarak birini gerektirir; iki ya da sıfır alt şemanın doğrulanması başarısız olur; bu, insanların beklediğinden daha katıdır ve örtüşen şemalarda şaşırtıcı hataların olağan sebebidir.

draft-07 ile 2020-12 arasında ne değişti?

2020-12, belirtimi ayrı ayrı müzakere edilebilen sözlüklere böldü (validation, annotation, format-assertion), definitions adını $defs yaptı, exclusiveMinimum'u düz bir sayıya sadeleştirdi ve eski items anahtar kelimesini prefixItems artı items ile değiştirdi. Araçların çoğu ikisini de destekler; draft-07 hâlâ en yaygın dağıtılan olandır ama 2020-12 güncel yayımlanmış standarttır.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}