JSON Schema Doğrulayıcı
İlgili Öneriler
Özellikler
- Draft-07 standardı doğrulama: JSON Schema Draft-07 spesifikasyonunu tamamen takip eder, tipler, zorunlu alanlar, özellikler, regex, formatlar ve enum dahil kapsamlı temel kural doğrulamasını destekler
- Güçlü kombinasyon mantığı: allOf, anyOf, oneOf, not gibi gelişmiş kombinasyon anahtar kelimelerini destekler — karmaşık iç içe yapılar ve çok kısıtlamalı doğrulama senaryolarıyla kolayca başa çıkar
- Hassas hata konumlandırma: ayrıntılı hata yolları ve anlamsal hata mesajları sağlar, geliştiricilerin ve test uzmanlarının API sözleşme çakışmalarını ve veri yapısı anomalilerini hızlıca bulmasına yardımcı olur
- API sözleşme testi: frontend-backend arayüz hata ayıklama ve otomatik sözleşme testi için mükemmel uygunlukta, gerçek yanıt verilerinin API dokümantasyonunda tanımlanan schema'yla sıkı şekilde eşleşmesini sağlar
- Yerel hızlı işleme: saf tarayıcı tarafı hesaplama, sunucuya yükleme gerekmez, hassas iş veri yapılarının ve test verilerinin gizliliğini ultra hızlı sıfır gecikmeli işleme ile sağlar
Sık Sorulan Sorular
JSON Schema kullanarak API yanıt verileri nasıl doğrulanır?
Beklenen JSON Schema tanımınızı sola, gerçek API yanıt JSON'unuzu sağa yapıştırmanız yeterli. Araç her iki yapıyı otomatik olarak karşılaştırır, veri tiplerini, zorunlu alanları, regex patternlerini ve daha fazlasını hassas şekilde doğrular. Bu, API sözleşme testi ve frontend-backend veri yapısı tutarlılığını sağlamak için gerekli bir adımdır.
Hangi JSON Schema standartları ve doğrulama kuralları destekleniyor?
Araç JSON Schema Draft-07 standardını tamamen takip eder. Temel tip kontrolü (type), zorunlu alanlar (required), özellik tanımları (properties), regex pattern eşleştirme (pattern), format doğrulama (format), enum değerleri (enum) ve güçlü kombinasyon mantığı doğrulamasını (allOf, anyOf, oneOf, not) destekler.
Doğrulama başarısız olduğunda hatalar nasıl hızlıca bulunur?
JSON verileri schema'yla eşleşmediğinde, araç son derece ayrıntılı bir hata raporu oluşturur. Başarısız JSON yolunu, belirli hata türünü (tip uyumsuzluğu veya eksik zorunlu alan gibi) ve ilgili schema kuralını hassas şekilde gösterir — backend geliştirme ve veri temizleme hata ayıklama verimliliğini büyük ölçüde artırır.
Otomatik veri yönetimi için JSON Schema nasıl kullanılır?
ETL veri temizleme veya veri alımından önce, verilerin önceden tanımlanmış schema spesifikasyonlarına uygun olup olmadığını doğrulamak için bu aracı kullanabilirsiniz. Bu, kirli verileri ve anomalileri etkili şekilde yakalar, veritabanlarına veya downstream sistemlere giren veri kalitesini sağlar — sağlam veri pipeline'ları oluşturmanın kritik bir adımıdır.
Online JSON Schema doğrulama özel verilerimi açığa çıkarır mı?
Hayır. Tüm JSON Schema Doğrulayıcı işleme tamamen tarayıcınızda yerel olarak gerçekleşir. Kurumsal API veri yapıları veya kişisel iş verileri olsun, hiçbir şey hiçbir sunucuya yüklenmez, verileriniz için enterprise düzeyinde gizlilik koruması sağlar.
JSON Schema Anahtar Kelime Kılavuzu
Aşağıdaki tablo, JSON Schema spesifikasyonunda en sık kullanılan doğrulama anahtar kelimelerini hızlı başvuru için kategorilere göre düzenlenmiş olarak listeler.
| Anahtar Kelime | Açıklama |
|---|---|
| Temel Tipler | |
type | Veri tipini belirtin: string, number, integer, boolean, array, object, null. Tek tip veya tip dizisini destekler. |
| Nesne Doğrulama | |
properties | Nesne özellikleri için alt şemalar tanımlayın. |
required | Hangi özelliklerin gerekli olduğunu belirten metin dizisi. |
additionalProperties | properties içinde tanımlanmayan ek özelliklere izin verilip verilmediğini kontrol eder; false veya bir şema olabilir. |
propertyNames | Özellik adlarının eşleşmesi gereken şema (genellikle pattern regex kullanır). |
minProperties | Bir nesnenin içermesi gereken minimum özellik sayısı. |
maxProperties | Bir nesnenin içerebileceği maksimum özellik sayısı. |
| Sabitler ve Enumlar | |
enum | İzin verilen değerler dizisi; veri diziden tam olarak bir değer olmalıdır. |
const | Sabit değer; veri bu değere kesinlikle eşit olmalıdır. |
| Sayısal Kısıtlamalar | |
minimum | Minimum sayısal değer (dahil). |
maximum | Maksimum sayısal değer (dahil). |
exclusiveMinimum | Değer kesinlikle bundan büyük olmalıdır (hariç). |
exclusiveMaximum | Değer kesinlikle bundan küçük olmalıdır (hariç). |
multipleOf | Değer belirtilen sayının katı olmalıdır. |
| Metin Kısıtlamaları | |
minLength | Minimum metin uzunluğu. |
maxLength | Maksimum metin uzunluğu. |
pattern | Normal ifade; metin bu desenle eşleşmelidir. |
format | Anlamsal format doğrulaması: email, uri, date-time, uuid, ipv4, ipv6, hostname vb. |
| Dizi Kısıtlamaları | |
items | Dizi elemanları için şema (tek şema tüm elemanlara uygulanır). |
minItems | Minimum dizi eleman sayısı. |
maxItems | Maksimum dizi eleman sayısı. |
uniqueItems | Dizi elemanlarının benzersiz olması gerekip gerekmediği. |
contains | En az bir dizi elemanı bu şemayla eşleşmelidir. |
| Kombinasyon Mantığı | |
allOf | Veri tüm alt şemalarla eşleşmelidir (mantıksal VE). |
anyOf | Veri en az bir alt şemayla eşleşmelidir (mantıksal VEYA). |
oneOf | Veri tam olarak bir alt şemayla eşleşmelidir (XOR). |
not | Veri bu şemayla eşleşMEMELİDİR (mantıksal DEĞİL). |
| Koşullu Doğrulama | |
if | Koşullu şema; veri if ile eşleşirse, then'i sağlamalıdır; aksi takdirde else'i sağlamalıdır. |
then | if koşulu sağlandığında sağlanması gereken şema. |
else | if koşulu sağlanmadığında sağlanması gereken şema. |
| Referanslar ve Yeniden Kullanım | |
$ref | Diğer şema tanımlarına başvuru; yerel başvuruları (#/$defs/xxx) ve uzak başvuruları destekler. |
$defs | Yeniden kullanılabilir alt şemalar tanımlayın (Draft 2019-09+; eski sürümler definitions kullanır). |
definitions | Draft 4-7'de yeniden kullanılabilir alt şemalar için anahtar kelime. |
| Meta Bilgiler | |
title | Şema başlığı (açıklama, doğrulanmaz). |
description | Şema açıklaması (açıklama, doğrulanmaz). |
default | Varsayılan değer (açıklama, doğrulanmaz). |
examples | Örnek değerler dizisi (açıklama, doğrulanmaz). |
$schema | Kullanılan JSON Schema spesifikasyon sürümünü belirtin. |
| Bağımlılıklar | |
dependentRequired | Özellik bağımlılığı: bir özellik var olduğunda, diğer özellikler de var olmalıdır (Draft 2019-09+). |
dependencies | Hem özellik hem de şema bağımlılıklarını kapsayan Draft 4-7'deki bağımlılık anahtar kelimesi. |
JSON Schema Sürüm Karşılaştırması
JSON Schema birden fazla Draft sürümünden geçerek gelişmiştir. Draft 7 şu anda en yaygın kullanılan sürümdür; Draft 2020-12 en son kararlı sürümdür.
| Özellik | Draft 4 | Draft 6 | Draft 7 | 2019-09 | 2020-12 |
|---|---|---|---|---|---|
| tip doğrulaması | ✓ | ✓ | ✓ | ✓ | ✓ |
| gerekli alanlar | ✓ | ✓ | ✓ | ✓ | ✓ |
| enum/const | ✓ enum | ✓ | ✓ | ✓ | ✓ |
| minimum/maximum | ✓ | ✓ | ✓ | ✓ | ✓ |
| exclusiveMinimum/Maximum | mantıksal | sayı | sayı | sayı | sayı |
| multipleOf | ✓ | ✓ | ✓ | ✓ | ✓ |
| minLength/maxLength | ✓ | ✓ | ✓ | ✓ | ✓ |
| pattern regex | ✓ | ✓ | ✓ | ✓ | ✓ |
| format doğrulaması | ✓ | ✓ | ✓ | varsayılan olarak yalnızca açıklama | varsayılan olarak yalnızca açıklama |
| items dizisi | ✓ | ✓ | ✓ | ✓ | ✓ |
| contains | ✗ | ✓ | ✓ | ✓ | ✓ |
| minItems/maxItems | ✓ | ✓ | ✓ | ✓ | ✓ |
| uniqueItems | ✓ | ✓ | ✓ | ✓ | ✓ |
| additionalProperties | ✓ | ✓ | ✓ | ✓ | ✓ |
| propertyNames | ✗ | ✓ | ✓ | ✓ | ✓ |
| allOf/anyOf/oneOf/not | ✓ | ✓ | ✓ | ✓ | ✓ |
| if/then/else | ✗ | ✗ | ✓ | ✓ | ✓ |
| $ref başvuruları | ✓ | ✓ | ✓ | ✓ | ✓ |
| $defs yeniden kullanım | definitions | definitions | definitions | $defs | $defs |
| dependentRequired | ✗ | ✗ | ✗ | ✓ | ✓ |
| prefixItems tanımlama grupları | dizi biçimi | dizi biçimi | dizi biçimi | dizi biçimi | prefixItems |
| unevaluatedProperties | ✗ | ✗ | ✗ | ✓ | ✓ |
| $dynamicRef/$anchor | ✗ | ✗ | ✗ | ✓ $recursiveRef | ✓ dynamicRef |
- JSON Compress
- CSV'den JSON'a
- JSON'den CSV'ye
- JSON Diff
- JSON Escape / Unescape
- JSON Düzleştirme
- JSON Biçimlendirici
- JSON Oluşturucu
- JSONPath Sorgu
- JSON Birleştir
- JSON Onarımı
- JSON Schema Doğrulayıcı
- JSON Sıralama
- JSON Stringify
- JSON'dan HTML'ye
- JSON'dan Java'ya
- JSON'den Markdown'a
- JSON to SQL
- JSON'dan TOML'e
- JSON'dan TypeScript'e
- XML'den JSON'a
- JSON'u XML'e donustur
- YAML'den JSON'a
- JSON → YAML Dönüştürücü
- JSON'dan Go'ya
- JSON'u Rust'a
- JSON to Swift
- JSON'dan C#'ye
- JSON'dan C++'ya
- JSON'dan PHP'ye
- JSON'u Python'a