Cara menggunakan Validator JSON Schema
- Tempel JSON Schema di kiri dan JSON yang ingin dicek di kanan (YAML juga bisa).
- Draft dideteksi dari
$schema, atau kamu bisa memilihnya secara manual. - Baca daftar error: lokasi JSON, masalahnya, dan aturan schema yang gagal.
- Belum punya schema? Tempel data contoh lalu klik Buat schema dari data.
Apa itu JSON Schema?
JSON Schema adalah kosakata untuk mendeskripsikan bentuk data JSON: properti apa saja yang ada, tipenya, mana yang wajib, nilai yang diizinkan, format string, rentang angka, dan panjang array. Schema dipakai untuk memvalidasi request dan response API, file konfigurasi, input form, dan pipeline data. Schema juga menjadi dasar definisi request dan response di OpenAPI.
Membaca error
| Kolom | Arti |
|---|---|
| Lokasi | JSON Pointer ke nilai yang gagal, misalnya /items/0/qty = qty dari item pertama |
| Masalah | Apa yang salah: tipe tidak sesuai, properti wajib hilang, nilai tidak diizinkan, properti tidak dikenal… |
| Aturan schema | Path ke keyword di schema yang menolak nilai tersebut, misalnya #/properties/items/items/properties/qty/minimum |
Draft
JSON Schema punya beberapa versi. Draft 2020-12 adalah yang terbaru (OpenAPI 3.1 memakainya). draft-07 masih paling luas didukung di library dan editor. draft-04 muncul di spesifikasi lama seperti Swagger 2.0 dan OpenAPI 3.0. Validator membaca $schema untuk memilih aturan yang tepat. Perbedaan yang sering membingungkan: draft-04 memakai id alih-alih $id dan exclusiveMinimum bertipe boolean; 2019-09 mengganti definitions dengan $defs dan menambahkan unevaluatedProperties.
Kesalahan umum
- Lupa menulis
"additionalProperties": false. Tanpa ini, properti yang tidak dikenal tetap diizinkan. - Menaruh
requireddi dalam properti, bukan di objek induknya. - Berharap
formatselalu ditegakkan. Banyak validator hanya memberi anotasi format kecuali diminta mengeceknya. - Memakai
"type": "integer"untuk nilai seperti1.0yang dikirim sebagai desimal dari beberapa bahasa pemrograman.
Schema hasil generate hanyalah titik awal. Perketat dengan pattern, enum, dan batas nilai. Telusuri dokumen besar di JSON viewer atau buat tipe TypeScript dengan JSON to TypeScript. Ingin memvalidasi spesifikasi API? Gunakan validator OpenAPI.
Juga dicari sebagai: validasi json schema, json schema online, ajv online, generate json schema, json schema draft 2020-12, ubah json ke schema.
Tool yang cocok dipakai bersama Validator JSON Schema
- JSON ke JSON Schema — Tempel satu atau beberapa contoh JSON dan dapatkan JSON Schema yang menggambarkannya: objek bertingkat, array objek yang digabung menjadi satu skema item, field wajib (kunci yang ada di setiap contoh), format yang terdeteksi seperti email, date-time, URI, dan UUID, enum opsional, serta output draf 2020-12 atau draft-07.
- Format JSON — Tempel JSON untuk dirapikan, di-minify, atau divalidasi.
- Validator YAML — Tempel file Docker Compose, manifest Kubernetes, workflow GitHub Actions, atau YAML apa pun untuk menemukan error, menangkap jebakan umum, dan mendapatkan versi yang sudah terformat rapi.
- Penguji JSONPath — Ketik query JSONPath dan langsung lihat apa yang dipilihnya, lengkap dengan path persis dari setiap hasil.
Pertanyaan yang sering diajukan
Validator JSON Schema apa yang dipakai di sini?
Bisakah saya membuat JSON Schema dari JSON?
Apakah mendukung $ref ke file lain?
#/$defs/...) berfungsi. URL eksternal tidak diambil, jadi masukkan definisinya secara inline terlebih dahulu.