Lompat ke konten
Aback Tools Logo

Generator JSON Schema

Hasilkan JSON Schema Draft-07 atau Draft 2020-12 lengkap dari payload JSON apa pun seketika di browser Anda. Menyimpulkan tipe, field wajib, format string, dan struktur objek bersarang. Sepenuhnya di sisi klien - data Anda tidak pernah keluar dari perangkat.

JSON Schema Generator

Paste or upload a JSON payload to instantly generate a complete JSON Schema. Supports Draft-07 and Draft 2020-12 with configurable required fields, format detection, and description placeholders. All processing happens locally in your browser.

Optional title added to the root schema object

Mengapa menggunakan Generator JSON Schema kami?

  • Inferensi skema instan: hasilkan JSON Schema lengkap dari payload JSON apa pun dalam milidetik. Mesin ini menelusuri setiap objek dan array bersarang, menyimpulkan tipe, mendeteksi format string, dan membangun skema yang terstruktur penuh tanpa pemrosesan di server.
  • Privasi data menyeluruh: payload JSON Anda tidak pernah keluar dari perangkat. Semua pembuatan skema berjalan lokal di browser Anda, menjadikan alat ini aman untuk respons API, catatan basis data, dan data bisnis sensitif apa pun yang perlu Anda dokumentasikan.
  • Draft-07 & Draft 2020-12: pilih antara JSON Schema Draft-07 (didukung luas oleh validator seperti AJV dan jsonschema) dan spesifikasi modern Draft 2020-12. Kedua output menyertakan URI $schema yang benar, array required, dan anotasi format.
  • 100% Gratis, Tanpa Batas: tanpa langganan, tanpa batas ukuran file, tanpa kuota penggunaan, dan tanpa akun. Hasilkan JSON Schema dari payload berbagai ukuran sebanyak yang Anda butuhkan, sepenuhnya gratis selamanya.

Kasus penggunaan umum Generator JSON Schema

  • Dokumentasi API: hasilkan JSON Schema dari payload respons API nyata untuk mendokumentasikan body request dan response dalam spesifikasi OpenAPI. Tempel respons API langsung dan dapatkan skema siap pakai yang secara akurat mencerminkan struktur data yang dikembalikan endpoint Anda.
  • Validasi runtime: buat skema validasi untuk AJV, jsonschema, atau Zod dari data JSON yang ada. Gunakan skema Draft-07 yang dihasilkan langsung di middleware validasi Node.js, Python, atau Go untuk menegakkan kontrak data di batas API dan mencegah payload cacat mencapai basis data Anda.
  • Pembuatan tipe TypeScript: gunakan JSON Schema yang dihasilkan sebagai input untuk alat seperti json-schema-to-typescript atau quicktype agar otomatis menghasilkan interface dan tipe TypeScript. Mulai dari payload JSON nyata dan dapatkan interface yang akurat dan bertipe kuat tanpa menulisnya manual.
  • Desain skema basis data: hasilkan skema dari dokumen MongoDB atau ekspor item DynamoDB untuk memahami bentuk data Anda sebelum merancang indeks atau bermigrasi ke basis data relasional. Field wajib dan tipe yang disimpulkan memberi Anda titik awal untuk definisi kolom dan batasan.
  • Konfigurasi pembuat formulir: hasilkan JSON Schema untuk menggerakkan pembuat formulir dinamis seperti react-jsonschema-form atau JSON Forms. Tambahkan placeholder deskripsi menggunakan opsi di generator, lalu isi untuk membuat label dan teks bantuan yang mudah dibaca bagi setiap field formulir Anda.
  • Pengujian kontrak data: tangkap skema respons API yang diketahui valid dan gunakan sebagai kontrak dalam pengujian kontrak berbasis konsumen dengan Pact atau framework serupa. Deteksi perubahan yang merusak saat penyedia menghapus field wajib atau mengubah tipe properti antar rilis.

Apa itu Generator JSON Schema?

Generator JSON Schema menganalisis payload JSON dan menghasilkan dokumen JSON Schema lengkap yang sesuai standar, sepenuhnya di browser Anda. Alat ini mendukung JSON Schema Draft-07 — versi yang paling banyak digunakan, didukung AJV, jsonschema, dan sebagian besar perkakas OpenAPI — serta spesifikasi modern Draft 2020-12 yang digunakan validator dan generator kode terbaru. Tidak ada data yang pernah dikirim ke server.

Draft-07 vs Draft 2020-12: Draft-07 menggunakan URI http://json-schema.org/draft-07/schema# dan menjadi pilihan paling aman untuk kompatibilitas maksimal dengan validator yang ada, perkakas OpenAPI 3.0, dan generator kode. Draft 2020-12 menggunakan URI HTTPS https://json-schema.org/draft/2020-12/schema dan memperkenalkan semantik yang lebih bersih untuk $ref , unevaluatedProperties , dan prefix items. Pilih 2020-12 saat menyasar AJV 8+, rantai alat json-schema-to-typescript v12+, atau validator apa pun yang secara eksplisit mendukung spesifikasi terbaru.

Inferensi tipe

Generator menelusuri setiap nilai dalam dokumen input dan memetakannya ke tipe JSON Schema yang benar. String JSON menjadi "type": "string" , bilangan bulat menjadi "type": "integer" , bilangan titik mengambang menjadi "type": "number" , boolean menjadi "type": "boolean" , dan nilai null menjadi "type": "null" . Objek bersarang diproses secara rekursif menjadi sub-skema properties , dan array dianalisis untuk menghasilkan skema items .

Inferensi field wajib

Saat opsi «Simpulkan Field Wajib» diaktifkan, generator menambahkan array required ke setiap skema objek yang memuat setiap kunci yang nilainya bukan null . Untuk array objek dengan opsi «Gabungkan Skema Item Array» aktif, sebuah kunci hanya ditandai wajib jika muncul di setiap item array, memberi Anda himpunan field wajib yang konservatif yang mencerminkan data sebenarnya, bukan satu sampel saja.

Penggabungan skema item array: saat sebuah array memuat beberapa objek, opsi «Gabungkan Skema Item Array» menggabungkan semua skema item menjadi satu skema representatif. Properti yang muncul di setiap item ditandai wajib; properti yang hanya muncul di sebagian item disertakan tetapi tidak wajib. Ini menghasilkan skema items yang lebih akurat daripada hanya menggunakan elemen pertama, terutama untuk array heterogen dari respons API nyata.

Deteksi format string

Generator mengenali enam format string umum secara otomatis. String date-time ISO 8601 seperti 2024-03-15T10:30:00Z dianotasi dengan format: date-time . Tanggal sederhana seperti 2024-03-15 mendapat format: date . Alamat email, URI HTTP/HTTPS, string UUID v4, dan alamat IPv4 masing-masing dideteksi dan dianotasi dengan kata kunci formatnya. Nonaktifkan opsi ini jika Anda ingin semua string tetap tanpa anotasi.

Placeholder deskripsi: mengaktifkan «Tambahkan Placeholder Deskripsi» menyisipkan string description kosong pada setiap properti dan skema objek. Ini berguna saat Anda berencana menggunakan skema yang dihasilkan sebagai titik awal untuk dokumentasi API atau konfigurasi pembuat formulir - Anda dapat mengisi deskripsinya tanpa harus menambahkan kunci secara manual pada setiap properti.

Pertanyaan yang Sering Diajukan

JSON Schema adalah kosakata yang mendeskripsikan struktur, tipe, dan batasan sebuah dokumen JSON. Alat ini digunakan untuk validasi saat runtime, dokumentasi API dalam spesifikasi OpenAPI, pembuatan tipe TypeScript, dan konfigurasi pembuat formulir. Generator JSON Schema ini membuatnya secara otomatis dari payload JSON apa pun yang sudah ada.

Draft-07 adalah versi yang paling luas didukung, kompatibel dengan AJV, jsonschema, dan perkakas OpenAPI 3.0. Draft 2020-12 adalah spesifikasi terbaru dengan semantik $ref yang lebih bersih dan kata kunci baru seperti unevaluatedProperties. Pilih Draft-07 untuk kompatibilitas maksimal dan Draft 2020-12 saat menyasar validator modern seperti AJV 8+.

Saat «Simpulkan Field Wajib» diaktifkan, setiap properti yang nilainya bukan null ditambahkan ke array required. Untuk array objek dengan penggabungan aktif, sebuah field hanya ditandai wajib jika muncul di setiap item array. Ini memberikan himpunan field wajib yang konservatif yang mencerminkan data sebenarnya, bukan satu sampel saja.

Generator mendeteksi enam format: date-time (ISO 8601 dengan waktu), date (hanya tanggal ISO 8601), alamat email, URI HTTP/HTTPS, string UUID v4, dan alamat IPv4. Masing-masing dianotasi dengan kata kunci format JSON Schema yang sesuai. Nonaktifkan «Deteksi Format String» jika Anda ingin semua string tetap tanpa anotasi.

Saat diaktifkan, generator menggabungkan skema semua objek dalam array menjadi satu skema items representatif. Properti yang ada di setiap item ditandai wajib; properti yang hanya ada di sebagian item disertakan tetapi opsional. Ini menghasilkan skema yang lebih akurat daripada hanya menggunakan elemen pertama array.

Ya. Skema Draft-07 yang dihasilkan langsung dapat digunakan dengan AJV, jsonschema (Python), dan sebagian besar validator lain. Salin output, simpan sebagai file .json, lalu berikan ke validator Anda. Untuk AJV 8+, Anda juga dapat menggunakan output Draft 2020-12 dengan memilih opsi itu sebelum menghasilkan.

Sepenuhnya. Semua pembuatan skema berjalan lokal di browser Anda tanpa unggahan ke server. Payload JSON, respons API, dan catatan basis data Anda tidak pernah keluar dari perangkat. Ini membuat alat aman untuk data bisnis sensitif, kredensial, dan struktur JSON eksklusif apa pun yang perlu Anda dokumentasikan.