>_toolkitbox

~/tools / JSON Schema Validator

JSON Schema Validator — JSON'u bir JSON Schema'ya göre denetleyin

JSON verisini bir JSON Schema'ya göre denetleyin; her sorunu yoluyla ve başarısız olan kuralla görün. Draft 2020-12'nin ana anahtar sözcüklerini kapsar. Bir yapay zekâ modelinin yapılandırılmış çıktısını denetlemek için kullanışlıdır. Hiçbir şey tarayıcınızdan çıkmaz.

Desteklediği anahtar sözcükler için JSON Schema Draft 2020-12'yi izler. $ref'i yalnızca aynı şema içinde okur.

Her şey tarayıcınızda çalışır. Şema ve veri yüklenmez.

JSON Schema, geçerli JSON'un nasıl görünmesi gerektiğini tanımlar: türler, zorunlu özellikler, izin verilen değerler ve aralıklar. Bu araç bir JSON parçasını bir şemaya göre denetler ve her sorunu, verideki konumuyla ve başarısız olan şema anahtar sözcüğüyle listeler. Yapay zekâ API'leri bir modelin yanıtını bir şemayla sınırlayabilir, ancak yanıtın değerleri yine de yanlış olabilir, model yanıtı reddetmiş olabilir ya da yanıt yarıda kesilmiş olabilir; bu yüzden yanıtı kendiniz denetlemeye değer. Aracın denetlemediği anahtar sözcükler (örneğin format), şemanız bunları kullandığında listelenir; böylece geçen bir sonuç, göründüğünden daha zayıf olduğunu sessizce saklamaz.

Kullanım örnekleri

  • Bir yapay zekâ modelinin yapılandırılmış çıktısının, verdiğiniz şemaya uyup uymadığını denetlemek
  • Bir şemayı bir API'de kullanmadan önce birkaç geçerli ve geçersiz örnekle denemek
  • Büyük bir JSON belgesinde kuralları hangi özelliğin bozduğunu bulmak

Nasıl kullanılır

  1. Şemayı sola, JSON verisini sağa yapıştırın ya da örneği yükleyin.
  2. Sonucu okuyun: geçti ya da verideki yolu ve başarısız olan kuralı gösteren bir sorun listesi.
  3. Doğrulanmayan anahtar sözcükler hakkında bir uyarı çıkarsa onu da okuyun.

Bir şemanın denetledikleri ve denetlemedikleri

  • properties yalnızca mevcut olan özellikleri denetler. Bir özellik, adı required içinde listelenmişse zorunludur; bu yüzden listelenmeyen bir özellik eksik olabilir.
  • additionalProperties, ne properties ne de patternProperties ile eşleşen adlara uygulanır. Atlanırsa fazladan özelliklere izin verilir.
  • integer, kesirli kısmı sıfır olan her sayıyla eşleşir.
  • pattern bir ECMA-262 düzenli ifadesidir ve sabitlenmemiştir: b deseni abc dizesiyle eşleşir. Dizenin tamamının eşleşmesi gerekiyorsa ^ ve $ ekleyin.
  • minLength ve maxLength karakterleri RFC 8259'un tanımladığı şekilde sayar; bu yüzden bir emoji bir sayılır.
  • format varsayılan olarak bir açıklamadır ve denetlenmesi isteğe bağlıdır. Bu araç onu denetlemez ve bir şema onu kullandığında bunu belirtir.
  • Bilinmeyen anahtar sözcükler açıklama sayılır; bu yüzden requierd gibi yanlış yazılmış bir anahtar sözcük yok sayılır ve şemayı başarısız kılmaz.

Diziler: 2020-12 ve önceki taslaklar

Taslakİlk öğeler için şemalarGeri kalanı için şema
2020-12prefixItemsitems
draft-07 ve öncesidizi olarak itemsadditionalItems

Bu araç her iki biçimi de okur. 2020-12'de items: false, additionalItems: false yerini alır.

Yapay zekâ yapılandırılmış çıktı özelliklerinin kabul ettikleri

Her şirket JSON Schema'nın yalnızca bir alt kümesini kabul eder ve üçü bunu farklı belgeler.

ŞirketBelgeler ne diyor
OpenAIKök bir nesne olmalıdır. Her özellik required içinde listelenmelidir (isteğe bağlı bir değer, null'a da izin veren bir tür olarak yazılır) ve her nesne additionalProperties: false ister. allOf, not, dependentRequired, dependentSchemas ve if/then/else desteklenmez.
AnthropicadditionalProperties false olmalıdır. Özyinelemeli şemalar, minimum, maximum ve multipleOf, minLength ve maxLength ile 0 veya 1 dışında bir dizi minItems desteklenmez. Desteklenmeyen bir özellik 400 hatası döndürür.
Google GeminiJSON Schema'nın yalnızca bir alt kümesi desteklenir. minLength, maxLength, minProperties, maxProperties, uniqueItems, contains, minContains ve maxContains hata vermek yerine ayıklanır ve yok sayılır.

Bu doğrulayıcıdan geçen bir şema, bir şirketin özelliği tarafından yine de reddedilebilir ya da yalnızca kısmen uygulanabilir. Şirketin belgelerine bakın ve yanıtı kendiniz doğrulayın.

Yanıtı kendiniz doğrulayın

  • Google, çıktının şemaya uyup yine de anlamca yanlış olabileceğini söyler ve değerleri uygulamanızda doğrulamanızı ister.
  • Anthropic, bir enum ya da const değerinin hata olmadan yalnızca büyük/küçük harf farkıyla dönebileceğini belirtir.
  • OpenAI, bir reddin şemayı izlemesinin şart olmadığını ve en yüksek token sınırında kesilen bir yanıtın eksik olduğunu söyler.
  • Anthropic, max_tokens ile kesilen bir yanıtın şemaya uymayabileceğini söyler. Ayrıştırmadan önce modelin neden durduğunu denetleyin.

Kaynaklar (kontrol tarihi 2026-10-23): JSON Schema 2020-12: Core / JSON Schema 2020-12: Validation / JSON Schema 2020-12: Release notes / OpenAI: Structured Outputs / Anthropic: Structured outputs / Google AI for Developers: Structured output

SSS

Hangi JSON Schema sürümünü izliyor?

Draft 2020-12'yi. Ayrıca draft-07'deki eski dizi biçimlerini de okur: items bir dizi olabilir ve additionalItems geri kalanı kapsar. Aynı şema içindeki tanımlara ($defs veya definitions) işaret eden $ref'i kabul eder, dış şemaları çekmez.

Hangi anahtar sözcükleri denetliyor?

type, enum, const, sayı ve dize sınırları, pattern, dizi anahtar sözcükleri (items, prefixItems, minItems, maxItems, uniqueItems, contains), nesne anahtar sözcükleri (properties, patternProperties, additionalProperties, required, propertyNames, dependentRequired ve diğerleri), allOf, anyOf, oneOf, not ve if/then/else.

Neyi denetlemiyor?

format, unevaluatedProperties, unevaluatedItems, $dynamicRef ve contentMediaType denetlenmez. JSON Schema, format'ı varsayılan olarak bir açıklama (annotation) sayar ve denetlenmesi isteğe bağlıdır. Şemanız bunlardan birini kullandığında araç bunu belirtir.

Yanlış yazılmış bir anahtar sözcük neden hata vermiyor?

JSON Schema bilinmeyen anahtar sözcükleri açıklama sayar; bu yüzden requierd gibi bir yazım hatası yok sayılır ve şema yine de geçer. Araç, var olmayan bir type gibi bildiği bir anahtar sözcüğün yanlış değerini bildirir, ancak başka bir sözcüğü kastettiğinizi bilemez.

Burada geçen bir şema, bir yapay zekâ şirketinin yapılandırılmış çıktılarında da çalışır mı?

Mutlaka değil. Her şirket JSON Schema'nın yalnızca bir alt kümesini destekler. OpenAI her özelliğin required olmasını ve additionalProperties'in false olmasını ister, Anthropic sayı veya dize uzunluğu sınırlarını desteklemez, Gemini ise birkaç anahtar sözcüğü yok sayar. Aracın altındaki şirket notlarına bakın.

Verilerim bir sunucuya gönderiliyor mu?

Hayır. Hem şema hem de veri tarayıcınızda denetlenir.

İlgili