Validator JSON Schema

Validasi data JSON terhadap definisi JSON Schema. Dapatkan laporan kesalahan terperinci dengan jalur. Semua pemrosesan dilakukan di browser Anda.

Validasi Instan Detail Kesalahan Pemrosesan Sisi Klien

Cara Menggunakan Validator JSON Schema

1

Masukkan Schema

Definisikan JSON Schema Anda yang menggambarkan struktur yang diharapkan.

2

Masukkan Data

Tempel data JSON yang ingin Anda validasi terhadap schema.

3

Validasi

Klik Validasi dan tinjau hasilnya untuk setiap kesalahan.

Apa itu JSON Schema?

JSON Schema adalah kosakata yang memungkinkan Anda menganotasi dan memvalidasi dokumen JSON. Ini menyediakan kontrak tentang data JSON apa yang dibutuhkan untuk aplikasi tertentu dan cara berinteraksi dengannya. JSON Schema digunakan untuk validasi, dokumentasi, dan pembuatan data mock.

Fitur Utama

Validasi Tipe

Validasi tipe: string, number, integer, boolean, array, object, null

Batasan

Panjang min/maks, rentang, pola, field wajib, dan lainnya

Definisi Struktur

Definisikan objek bersarang, array, dan struktur data kompleks

Pertanyaan yang Sering Diajukan

Versi JSON Schema apa yang didukung?

Tool ini mendukung JSON Schema Draft-07, Draft 2019-09, dan Draft 2020-12 melalui pustaka Ajv. Sebagian besar fitur schema umum didukung.

Bisakah saya memvalidasi objek bersarang?

Bisa! JSON Schema mendukung objek dan array yang bersarang dalam-dalam. Anda dapat mendefinisikan properties dan items di semua tingkat penyarangan, dengan aturan validasi tersendiri untuk setiap field.

Apa yang terjadi jika schema saya tidak valid?

Tool ini pertama-tama memvalidasi bahwa schema Anda sendiri adalah JSON Schema yang valid. Jika schema memiliki kesalahan, hal itu akan dilaporkan sebelum mencoba memvalidasi data.

Keyword JSON Schema mana yang paling sering digunakan?

type (string, number, object, array, boolean, null), properties dengan schema bersarang, required yang mencantumkan kunci wajib, enum untuk himpunan nilai tetap, pattern untuk string berbatasan regex, dan pemeriksaan rentang minimum/maximum serta minLength/maxLength. additionalProperties: false memperketat objek terhadap kunci ekstra. Bersama-sama semuanya mencakup sebagian besar aturan validasi API.

Bagaimana keyword format seperti date-time dan email berperilaku?

Dalam JSON Schema modern, format adalah anotasi secara default, bukan asersi otomatis - validator hanya menegakkannya bila dikonfigurasi demikian, yang dibuat eksplisit oleh spesifikasi 2020-12 dengan kosakata format-assertion terpisah. Gunakan pattern atau keyword kustom saat penegakan harus dijamin, dan perlakukan format sebagai metadata interoperabilitas selain itu.

Apa itu $ref dan bagaimana reuse schema bekerja?

$ref yang menunjuk #/$defs/address mereferensikan fragmen schema di bawah $defs dan memvalidasi terhadapnya di mana pun digunakan - inilah mekanisme deduplikasi. Draft 2020-12 mengganti nama definitions yang lama menjadi $defs dan memformalkan $dynamicRef untuk struktur rekursif seperti pohon komentar. Referensi juga bisa menunjuk dokumen eksternal, meski bundling secara lokal lebih umum.

Bagaimana oneOf, anyOf, dan allOf berbeda?

allOf mengharuskan setiap subschema valid - sebuah irisan, dipakai untuk menyusun schema dasar dengan batasan tambahan. anyOf membutuhkan setidaknya satu - sebuah gabungan, dipakai untuk payload polimorfik. oneOf membutuhkan tepat satu; dua atau nol subschema yang valid membuat gagal, yang lebih ketat dari yang orang harapkan dan menjadi penyebab umum kesalahan mengejutkan pada schema yang tumpang tindih.

Apa yang berubah antara draft-07 dan 2020-12?

2020-12 memecah spesifikasi menjadi kosakata yang dapat dinegosiasikan terpisah (validation, annotation, format-assertion), mengganti nama definitions menjadi $defs, menyederhanakan exclusiveMinimum menjadi angka biasa, dan menggantikan keyword items yang lama dengan prefixItems ditambah items. Sebagian besar tooling mendukung keduanya; draft-07 masih yang paling luas diterapkan, tetapi 2020-12 adalah standar terbitan saat ini.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}