JSON Schema üretici

Sola JSON yapıştırın — şema sağda, yazdıkça görünür.

JSON Schema

Nasıl kullanılır

  1. Sola bir örnek JSON belgesi yapıştırın — nesne, dizi ya da tek bir değer. Şema canlı olarak, yazarken üretilir.
  2. Şema sürümünü seçin (Draft 7 veya 2020-12) ve dize biçimi algılamayı, örnek değerleri ve her özelliğin zorunlu olup olmadığını açın ya da kapatın.
  3. Sonucu kopyalayın veya schema.json olarak indirin. Hiçbir şey yüklenmez: tüm belge tarayıcınızda ayrıştırılır.

Örnek

Örnek JSON

{
  "id": 42,
  "name": "Ahmet Yılmaz",
  "email": "ahmet@example.com",
  "active": true,
  "tags": ["admin", "editor"],
  "profile": { "score": 4.5, "verified": false }
}

JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "id": { "type": "integer" },
    "name": { "type": "string" },
    "email": { "type": "string", "format": "email" },
    "active": { "type": "boolean" },
    "tags": { "type": "array", "items": { "type": "string" } },
    "profile": {
      "type": "object",
      "properties": {
        "score": { "type": "number" },
        "verified": { "type": "boolean" }
      },
      "required": ["score", "verified"],
      "additionalProperties": false
    }
  },
  "required": ["id", "name", "email", "active", "tags", "profile"],
  "additionalProperties": false
}

Varsayılan kurallarla üretildi: Draft 7, biçimler açık, tüm özellikler zorunlu. E-posta dizisi bir biçim ipucu alır; tam sayı tam kalır ve iç içe geçmiş profile kendi nesne şeması olur.

Kurallar, sınırlar ve bilinen sorunlar

  • Tipler örnekten çıkarılır: object, array, string, integer, number, boolean, null. Dizi öğeleri birleştirilir — öğeler arası nesnelerin anahtarları birleşir ve bazı öğelerde eksik olan bir anahtar zorunlu olarak işaretlenmez.
  • Tek bir dizi içindeki karışık tipler bir anyOf olur; boş bir dizi, öğesiz type:array verir (öğe tipi örnekten bilinemez).
  • Dize biçimleri (email, UUID, URI, date, date-time) değerden tahmin edilir — bunlar ipucudur, olası her değerin doğrulaması değildir. Anahtar ile kapatın.
  • Yinelenen anahtarlar, tıpkı JSON.parse gibi son değeri korur. Yalnızca katı JSON (RFC 8259): yorumlar, sondaki virgüller ve tek tırnaklar bir satır/sütun mesajıyla reddedilir.
  • Şema standart JSONdur, bu yüzden anahtar sözcükleri ve çıktısı sayfa diliyle asla değişmez. Örnek değerler yerel olarak yeniden kurulur, dolayısıyla aşırı büyük bir tam sayı (ör. 12345678901234567890) yalnızca örnekte yuvarlanabilir.
  • Sınırlar: 1.000.000 karakter ve 512 iç içe geçme düzeyi. Sınırlardan biri aşılırsa kesilmiş bir sonuç değil, bir hata alırsınız. Dosya yükleme yalnızca yerel dosyayı okur — hiçbir şey yüklenmez.

Bir şemaları olduğunda insanların genellikle sonra ihtiyaç duyduğu şeyler.