Generator JSON Schema (Draft 2020-12)
Buat JSON Schema (draft 2020-12) dari contoh JSON: tipe, key wajib, union nullable, item array, dan format string seperti email dan date-time. Gratis.
Berjalan sepenuhnya di browser Anda. Data Anda tidak pernah diunggah.
Alat Terkait
Lihat SemuaApa itu Generator JSON Schema?
Simpulkan JSON Schema dari dokumen contoh. Generator menggambarkan tipe setiap properti, menggabungkan item array menjadi satu skema items, mendaftar key wajib, menandai nilai nullable dengan union tipe, dan dapat mendeteksi format string yang umum.
Cara menggunakan Generator JSON Schema
- Tempel JSON ke kotak Input JSON, atau gunakan Muat contoh atau Buka file.
- Secara opsional atur Judul skema (opsional).
- Aktifkan Tandai kunci sebagai wajib, Deteksi format string (email, date-time, uri…), dan Larang properti tambahan.
- Keluaran JSON Schema diperbarui saat Anda mengetik; gunakan Salin atau Unduh.
Contoh
{"id":1,"email":"a@b.co"} {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"email": {
"type": "string",
"format": "email"
}
},
"required": [
"id",
"email"
]
} Kapan menggunakan Generator JSON Schema
Gunakan sebagai titik awal untuk kontrak API, validasi konfigurasi, atau pembuatan formulir. Skema yang disimpulkan dari satu contoh hanya sebaik contohnya: tambahkan batasan seperti minimum, enum, atau pattern secara manual sebelum memakainya untuk memvalidasi data nyata.
Cara kerja Generator JSON Schema
Contoh ditelusuri secara rekursif dan setiap posisi mengumpulkan tipe JSON yang terlihat (integer, number, string, boolean, object, array, null). Bilangan bulat yang bercampur dengan desimal menjadi number; beberapa tipe menjadi array type seperti ["object", "null"]. Untuk array objek, sebuah properti wajib hanya jika setiap objek memilikinya. Deteksi format mencocokkan string dengan pola untuk date-time, date, time, email, uuid, uri, dan ipv4, dan hanya menambahkan format bila semua nilai cocok. Hasilnya mendeklarasikan $schema: https://json-schema.org/draft/2020-12/schema.
Kasus Penggunaan Umum
- Merintis skema untuk body permintaan API
- Memvalidasi file konfigurasi dengan ajv atau pemeriksaan CI
- Mendokumentasikan bentuk payload webhook
- Membuat formulir dari skema di alat yang menerima JSON Schema
Pertanyaan Umum
Draft mana yang dihasilkan?
Draft 2020-12, dideklarasikan dengan keyword $schema. Keyword yang dipakai (type, properties, required, items, format, additionalProperties) juga valid di draft-07.
Bagaimana properti opsional dideteksi?
Hanya dari array objek: jika sebuah key hilang di sebagian elemen, key itu tidak dimasukkan ke required. Untuk satu objek, setiap key wajib saat opsi aktif.
Apakah validasi format ditegakkan?
Dalam JSON Schema, format secara bawaan hanyalah anotasi; validator seperti ajv perlu mengaktifkan validasi format (ajv-formats).