Validador d'Esquema JSON
Relacionats
Característiques
- Validació estàndard Draft-07: segueix completament l'especificació JSON Schema Draft-07
- Lògica de combinació avançada: suporta allOf, anyOf, oneOf, not per a estructures complexes
- Localització precisa d'errors: proporciona rutes d'error detallades i missatges semàntics
- Proves de contracte d'API: verifica que les dades de resposta coincideixen amb l'esquema definit
- Processament local: computació pura al navegador, sense pujada al servidor, garantint privadesa de dades
Preguntes freqients
Com valido dades de resposta d'API utilitzant JSON Schema?
Enganxa la definició d'esquema JSON esperada a l'esquerra i el JSON real de la resposta a la dreta. L'eina compara automàticament ambdues estructures, validant tipus de dades, camps obligatoris, patrons regex i més.
Quins estàndards JSON Schema són compatibles?
L'eina segueix completament l'estàndard JSON Schema Draft-07. Suporta type, required, properties, pattern, format, enum i lògica de combinació (allOf, anyOf, oneOf, not).
Com localitzo ràpidament els errors quan la validació falla?
L'eina genera un informe d'errors detallat amb la ruta JSON que falla, el tipus d'error específic i la regla d'esquema corresponent.
Com utilitzar JSON Schema per a la governança automatitzada de dades?
Abans de la neteja ETL o la ingestió de dades, pots verificar si les dades compleixen les especificacions d'esquema predefinides, interceptant efectivament dades brutes i anomalies.
La validació d'Esquema JSON exposarà les meves dades privades?
No. Tot el processament es fa completament al teu navegador local. Res no es puja mai a cap servidor.
Full de Referència Ràpida de Paraules Clau JSON Schema
La taula següent llista les paraules clau de validació més utilitzades en l'especificació JSON Schema, organitzades per categoria per a consulta ràpida.
| Paraula clau | Descripció |
|---|---|
| Tipus Bàsics | |
type | Especifica el tipus de dades: string, number, integer, boolean, array, object, null. Admet tipus únic o array de tipus. |
| Validació d'Objectes | |
properties | Defineix subesquemes per a les propietats de l'objecte. |
required | Array de cadenes que especifica quines propietats són obligatòries. |
additionalProperties | Controla si es permeten propietats addicionals no definides a properties; pot ser false o un esquema. |
propertyNames | Esquema que han de complir els noms de propietat (sovint utilitza pattern regex). |
minProperties | Nombre mínim de propietats que ha de contenir un objecte. |
maxProperties | Nombre màxim de propietats que pot contenir un objecte. |
| Enums i Constants | |
enum | Array de valors permesos; les dades han de ser exactament un valor de l'array. |
const | Valor constant; les dades han de ser estrictament iguals a aquest valor. |
| Restriccions Numèriques | |
minimum | Valor numèric mínim (inclusiu). |
maximum | Valor numèric màxim (inclusiu). |
exclusiveMinimum | El valor ha de ser estrictament més gran que (exclusiu). |
exclusiveMaximum | El valor ha de ser estrictament més petit que (exclusiu). |
multipleOf | El valor ha de ser múltiple del nombre especificat. |
| Restriccions de Cadena | |
minLength | Longitud mínima de la cadena. |
maxLength | Longitud màxima de la cadena. |
pattern | Expressió regular; la cadena ha de coincidir amb aquest patró. |
format | Validació de format semàntic: email, uri, date-time, uuid, ipv4, ipv6, hostname, etc. |
| Restriccions d'Array | |
items | Esquema per als elements de l'array (un únic esquema s'aplica a tots els elements). |
minItems | Nombre mínim d'elements de l'array. |
maxItems | Nombre màxim d'elements de l'array. |
uniqueItems | Si els elements de l'array han de ser únics. |
contains | Almenys un element de l'array ha de coincidir amb aquest esquema. |
| Lògica Combinatòria | |
allOf | Les dades han de coincidir amb tots els subesquemes (AND lògic). |
anyOf | Les dades han de coincidir amb almenys un subesquema (OR lògic). |
oneOf | Les dades han de coincidir amb exactament un subesquema (XOR). |
not | Les dades NO han de coincidir amb aquest esquema (NOT lògic). |
| Validació Condicional | |
if | Esquema condicional; si les dades coincideixen amb if, han de satisfer then; altrament han de satisfer else. |
then | Esquema a satisfer quan la condició if es compleix. |
else | Esquema a satisfer quan la condició if no es compleix. |
| Referències i Reutilització | |
$ref | Referència a altres definicions d'esquema; admet referències locals (#/$defs/xxx) i referències remotes. |
$defs | Defineix subesquemes reutilitzables (Draft 2019-09+; les versions anteriors utilitzen definitions). |
definitions | Paraula clau per a subesquemes reutilitzables en Draft 4-7. |
| Metadades | |
title | Títol de l'esquema (anotació, no validat). |
description | Descripció de l'esquema (anotació, no validat). |
default | Valor per defecte (anotació, no validat). |
examples | Array de valors d'exemple (anotació, no validat). |
$schema | Especifica la versió de l'especificació JSON Schema en ús. |
| Dependències | |
dependentRequired | Dependència de propietats: quan una propietat existeix, altres propietats també han d'existir (Draft 2019-09+). |
dependencies | Paraula clau de dependència en Draft 4-7 que cobreix tant dependències de propietats com d'esquemes. |
Comparació de Versions JSON Schema
JSON Schema ha evolucionat a través de múltiples versions Draft. Actualment Draft 7 és la versió més utilitzada; Draft 2020-12 és l'última versió estable.
| Característica | Draft 4 | Draft 6 | Draft 7 | 2019-09 | 2020-12 |
|---|---|---|---|---|---|
| Validació type | ✓ | ✓ | ✓ | ✓ | ✓ |
| Camps obligatoris | ✓ | ✓ | ✓ | ✓ | ✓ |
| enum/const | ✓ enum | ✓ | ✓ | ✓ | ✓ |
| minimum/maximum | ✓ | ✓ | ✓ | ✓ | ✓ |
| exclusiveMinimum/Maximum | booleà | nombre | nombre | nombre | nombre |
| multipleOf | ✓ | ✓ | ✓ | ✓ | ✓ |
| minLength/maxLength | ✓ | ✓ | ✓ | ✓ | ✓ |
| pattern regex | ✓ | ✓ | ✓ | ✓ | ✓ |
| Validació format | ✓ | ✓ | ✓ | anotació per defecte | anotació per defecte |
| Array items | ✓ | ✓ | ✓ | ✓ | ✓ |
| contains | ✗ | ✓ | ✓ | ✓ | ✓ |
| minItems/maxItems | ✓ | ✓ | ✓ | ✓ | ✓ |
| uniqueItems | ✓ | ✓ | ✓ | ✓ | ✓ |
| additionalProperties | ✓ | ✓ | ✓ | ✓ | ✓ |
| propertyNames | ✗ | ✓ | ✓ | ✓ | ✓ |
| allOf/anyOf/oneOf/not | ✓ | ✓ | ✓ | ✓ | ✓ |
| if/then/else | ✗ | ✗ | ✓ | ✓ | ✓ |
| Referències $ref | ✓ | ✓ | ✓ | ✓ | ✓ |
| Reutilització $defs | definitions | definitions | definitions | $defs | $defs |
| dependentRequired | ✗ | ✗ | ✗ | ✓ | ✓ |
| Tuples prefixItems | forma array | forma array | forma array | forma array | prefixItems |
| unevaluatedProperties | ✗ | ✗ | ✗ | ✓ | ✓ |
| $dynamicRef/$anchor | ✗ | ✗ | ✗ | ✓ $recursiveRef | ✓ dynamicRef |
- Comprimir JSON
- CSV a JSON
- JSON a CSV
- JSON Diff
- JSON Escape / Unescape
- Aplanar JSON
- JSON Formatter
- Generador de JSON
- Consulta JSONPath
- Combinar JSON
- Reparació JSON
- Validador d'Esquema JSON
- Ordenar JSON
- JSON Stringify
- JSON a HTML
- JSON a Java
- JSON a Markdown
- JSON a SQL
- JSON a TOML
- JSON a TypeScript
- XML a JSON
- Converteix JSON a XML
- YAML a JSON
- JSON → YAML
- JSON a Python
- JSON a Go
- JSON a Rust
- JSON a Swift
- JSON a C#
- JSON a C++
- JSON a PHP