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.
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).
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.
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.
No. Tot el processament es fa completament al teu navegador local. Res no es puja mai a cap servidor.
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. |
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 |