Langsung ke konten
ToolMug

Generator JSON ke JSON Schema

Tempel contoh JSON dan dapatkan JSON Schema yang mendeskripsikannya — tipe, objek bersarang, item array, dan kunci mana yang wajib. Gunakan sebagai titik awal untuk validasi, formulir, atau dokumentasi API.

Berjalan di browser Anda — tidak ada yang Anda masukkan yang diunggah

Cara menggunakan

  1. Tempel contoh JSON, atau klik Muat contoh.
  2. Isi Nama tipe root, yang menjadi judul schema root.
  3. Salin atau unduh schema, lalu tambahkan batasan seperti format, pola, dan rentang nilai.

Penjelasan opsi

Nama tipe root
Dipakai sebagai title schema.

Contoh

{"id": 1, "email": null} menjadi schema dengan "id": {"type": "integer"}, "email": {"type": "null"}, dan kedua kunci tercantum di required.

Contoh lengkap

Dua record pengguna, di mana hanya yang pertama memiliki email dan manager terkadang null:

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

Dengan Nama tipe root diatur ke User, schema yang dihasilkan adalah:

{
  "$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"]
  }
}

email tidak dimasukkan ke required karena record kedua tidak memilikinya, dan manager menerima null atau objek karena keduanya muncul dalam sampel. Semakin beragam data sampel Anda, semakin akurat schema-nya — tempel beberapa record, bukan satu.

Kegunaan umum

Memvalidasi masukan API. Muat schema ke validator seperti Ajv (JavaScript) atau jsonschema (Python) dan tolak permintaan yang tidak cocok.

Mendokumentasikan API. Tempel properti ke bagian OpenAPI components.schemas sebagai titik awal.

Pelengkapan otomatis di editor. VS Code dan IDE JetBrains dapat memakai JSON Schema untuk menyarankan kunci dan menandai kesalahan di file konfigurasi JSON.

Pertanyaan yang sering diajukan

Kunci mana yang ditandai sebagai required?

Kunci yang ada di setiap objek contoh. Jika array berisi objek dengan kunci berbeda, kunci yang tidak ada di sebagian item tidak dimasukkan ke required.

Bisakah dipakai dengan OpenAPI?

OpenAPI 3.1 memakai JSON Schema 2020-12, jadi schema yang dihasilkan bisa ditaruh di bawah components/schemas. Untuk OpenAPI 3.0, ganti array type seperti ["string", "null"] dengan nullable true.

Apakah format seperti email atau date-time terdeteksi?

Tidak. Alat ini hanya menyimpulkan tipe. Tambahkan format, pattern, minimum, dan kata kunci sejenis secara manual jika diperlukan.

Apakah JSON saya diunggah?

Tidak. Schema dibuat di browser Anda, sehingga respons API berisi data asli tetap di perangkat Anda.

Privasi

Alat ini berjalan sepenuhnya di browser Anda. File dan teks Anda diproses di perangkat Anda dan tidak pernah diunggah ke server kami.

Alat terkait