İçeriğe geç
ToolMug

JSON’dan JSON Schema Oluşturucu

Bir JSON örneği yapıştırın ve onu tanımlayan bir JSON Schema alın; türler, iç içe nesneler, dizi öğeleri ve hangi anahtarların zorunlu olduğu dahil. Doğrulama, formlar veya API dokümantasyonu için başlangıç noktası olarak kullanın.

Tarayıcınızda çalışır — girdiğiniz hiçbir şey yüklenmez

Nasıl kullanılır

  1. Bir JSON örneği yapıştırın veya “Örnek yükle” düğmesine tıklayın.
  2. Kök şemanın başlığını (title) belirleyin.
  3. Şemayı kopyalayın veya indirin, ardından format, pattern ve değer aralıkları gibi kısıtlamaları ekleyin.

Seçeneklerin açıklaması

Kök tür adı
Şemanın title değeri olarak kullanılır.

Örnekler

{"id": 1, "email": null}, "id": {"type": "integer"}, "email": {"type": "null"} ve required içinde her iki anahtarı da barındıran bir şemaya dönüşür.

Örnek

Yalnızca ilkinin e-postası olan ve manager değerinin bazen null olduğu iki kullanıcı kaydı:

[
  { "id": 1, "name": "Ada", "email": "ada@example.com", "tags": ["admin"], "manager": null },
  { "id": 2, "name": "Grace", "tags": [], "manager": { "id": 1 } }
]

Kök tür adı User olarak ayarlandığında, üretilen şema şöyledir:

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "User",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": { "type": "integer" },
      "name": { "type": "string" },
      "email": { "type": "string" },
      "tags": { "type": "array", "items": { "type": "string" } },
      "manager": {
        "anyOf": [
          { "type": "null" },
          { "type": "object", "properties": { "id": { "type": "integer" } }, "required": ["id"] }
        ]
      }
    },
    "required": ["id", "name", "tags", "manager"]
  }
}

İkinci kayıtta olmadığı için email, required dışında bırakılır; manager ise örnekte ikisi de bulunduğundan null ya da nesneyi kabul eder. Örnek verileriniz ne kadar çeşitliyse şema o kadar doğru olur — tek bir kayıt yerine birkaç kayıt yapıştırın.

Yaygın kullanımlar

API girdisini doğrulama. Şemayı Ajv (JavaScript) veya jsonschema (Python) gibi bir doğrulayıcıya yükleyin ve uymayan istekleri reddedin.

Bir API’yi belgelendirme. Başlangıç noktası olarak özellikleri bir OpenAPI components.schemas bölümüne yapıştırın.

Düzenleyicide otomatik tamamlama. VS Code ve JetBrains IDE’leri, JSON yapılandırma dosyalarında anahtarları önermek ve hataları işaretlemek için bir JSON Schema kullanabilir.

Sıkça sorulan sorular

Hangi anahtarlar zorunlu (required) olarak işaretlenir?

Her örnek nesnede bulunan anahtarlar. Bir dizi farklı anahtarlara sahip nesneler içerdiğinde, bazı öğelerde eksik olan anahtarlar required listesine alınmaz.

OpenAPI ile kullanabilir miyim?

OpenAPI 3.1 JSON Schema 2020-12 kullanır, bu yüzden oluşturulan şema doğrudan components/schemas altına yerleştirilebilir. OpenAPI 3.0 için ["string", "null"] gibi tür dizilerini nullable true ile değiştirin.

E-posta veya date-time gibi formatları algılar mı?

Hayır. Yalnızca türleri çıkarır. Gerektiğinde format, pattern, minimum ve benzeri anahtar kelimeleri elle ekleyin.

JSON’um sunucuya yükleniyor mu?

Hayır. Şema tarayıcınızda oluşturulur; böylece gerçek veri içeren API yanıtları cihazınızda kalır.

Gizlilik

Bu araç tamamen tarayıcınızda çalışır. Dosyalarınız ve metinleriniz cihazınızda işlenir, sunucularımıza asla yüklenmez.

İlgili araçlar