onlinetools.dev

Validator & Generator JSON Schema

Validasi JSON terhadap sebuah skema, atau simpulkan skema dari data contoh

Berjalan lokal
loading…
Tentang alat ini

Dua arah dari disiplin yang sama: tempel contoh JSON lalu dapatkan skema draft-07 yang disimpulkan darinya, atau tempel data beserta skemanya dan lihat setiap pelanggaran terdaftar lengkap dengan path JSON-nya. Validasinya berjalan di atas Ajv — mesin yang sama dengan yang dipakai sebagian besar layanan Node — jadi yang lolos di sini juga lolos di CI.

Penyimpulannya berpikiran produksi: kunci objek menjadi properti bertipe dan entri required, larik menggabungkan bentuk seluruh anggotanya, bilangan bulat dibedakan dari pecahan, dan kunci yang hanya muncul di sebagian anggota larik dengan tepat ditinggalkan dari required. Hasilnya adalah titik awal yang Anda ketatkan dengan format, rentang, dan pola.

Respons API dan berkas konfigurasi justru data yang paling tak ingin Anda titipkan ke server pihak ketiga. Baik penyimpulan maupun validasi berjalan sepenuhnya di browser Anda.

Pertanyaan yang sering diajukan

Draft JSON Schema mana yang didukung?
Penyimpulan mengeluarkan draft-07, draft dengan dukungan terluas di berbagai editor dan validator. Validasi menerima draft-07 serta draft-draft lebih awal yang dipahami Ajv dalam mode non-ketat; kata kunci 2019-09/2020-12 pun umumnya jalan karena kata kunci tak dikenal diabaikan, bukan dianggap fatal.
Apa arti tanda $ pada path pelanggaran?
Itu akar dokumen, bergaya JSONPath: $.age berarti properti age di tingkat teratas, $.items.2.name berarti name milik elemen larik ketiga. Path kosong ($) berarti pelanggarannya menyangkut akar dokumen itu sendiri — tipe yang salah, atau properti wajib yang hilang.
Kenapa skema hasil penyimpulan lebih ketat atau lebih longgar dari dugaan saya?
Ia menggambarkan persis contoh yang Anda berikan: bidang yang hadir di mana-mana menjadi wajib, dan hanya tipe yang teramati yang diizinkan. Suapkan contoh yang lebih bervariasi (larik berisi objek-objek representatif) untuk skema yang lebih umum, lalu sesuaikan dengan tangan — penyimpulan tak bisa menebak maksud Anda.
Apakah validasinya mendukung format, pattern, dan kata kunci batasan lainnya?
Kata kunci struktural (type, required, properties, items, enum, minimum, pattern…) ditegakkan sepenuhnya. String format seperti “email” atau “date-time” tidak diuji — itu mencerminkan spesifikasi JSON Schema, yang secara bawaan memperlakukan format sebagai anotasi, sekaligus menghindari rasa aman yang keliru.
Alat terkait