logo
GeekFormat

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 clauDescripció
Tipus Bàsics
typeEspecifica el tipus de dades: string, number, integer, boolean, array, object, null. Admet tipus únic o array de tipus.
Validació d'Objectes
propertiesDefineix subesquemes per a les propietats de l'objecte.
requiredArray de cadenes que especifica quines propietats són obligatòries.
additionalPropertiesControla si es permeten propietats addicionals no definides a properties; pot ser false o un esquema.
propertyNamesEsquema que han de complir els noms de propietat (sovint utilitza pattern regex).
minPropertiesNombre mínim de propietats que ha de contenir un objecte.
maxPropertiesNombre màxim de propietats que pot contenir un objecte.
Enums i Constants
enumArray de valors permesos; les dades han de ser exactament un valor de l'array.
constValor constant; les dades han de ser estrictament iguals a aquest valor.
Restriccions Numèriques
minimumValor numèric mínim (inclusiu).
maximumValor numèric màxim (inclusiu).
exclusiveMinimumEl valor ha de ser estrictament més gran que (exclusiu).
exclusiveMaximumEl valor ha de ser estrictament més petit que (exclusiu).
multipleOfEl valor ha de ser múltiple del nombre especificat.
Restriccions de Cadena
minLengthLongitud mínima de la cadena.
maxLengthLongitud màxima de la cadena.
patternExpressió regular; la cadena ha de coincidir amb aquest patró.
formatValidació de format semàntic: email, uri, date-time, uuid, ipv4, ipv6, hostname, etc.
Restriccions d'Array
itemsEsquema per als elements de l'array (un únic esquema s'aplica a tots els elements).
minItemsNombre mínim d'elements de l'array.
maxItemsNombre màxim d'elements de l'array.
uniqueItemsSi els elements de l'array han de ser únics.
containsAlmenys un element de l'array ha de coincidir amb aquest esquema.
Lògica Combinatòria
allOfLes dades han de coincidir amb tots els subesquemes (AND lògic).
anyOfLes dades han de coincidir amb almenys un subesquema (OR lògic).
oneOfLes dades han de coincidir amb exactament un subesquema (XOR).
notLes dades NO han de coincidir amb aquest esquema (NOT lògic).
Validació Condicional
ifEsquema condicional; si les dades coincideixen amb if, han de satisfer then; altrament han de satisfer else.
thenEsquema a satisfer quan la condició if es compleix.
elseEsquema a satisfer quan la condició if no es compleix.
Referències i Reutilització
$refReferència a altres definicions d'esquema; admet referències locals (#/$defs/xxx) i referències remotes.
$defsDefineix subesquemes reutilitzables (Draft 2019-09+; les versions anteriors utilitzen definitions).
definitionsParaula clau per a subesquemes reutilitzables en Draft 4-7.
Metadades
titleTítol de l'esquema (anotació, no validat).
descriptionDescripció de l'esquema (anotació, no validat).
defaultValor per defecte (anotació, no validat).
examplesArray de valors d'exemple (anotació, no validat).
$schemaEspecifica la versió de l'especificació JSON Schema en ús.
Dependències
dependentRequiredDependència de propietats: quan una propietat existeix, altres propietats també han d'existir (Draft 2019-09+).
dependenciesParaula 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ísticaDraft 4Draft 6Draft 72019-092020-12
Validació type
Camps obligatoris
enum/const✓ enum
minimum/maximum
exclusiveMinimum/Maximumbooleànombrenombrenombrenombre
multipleOf
minLength/maxLength
pattern regex
Validació formatanotació per defecteanotació per defecte
Array items
contains
minItems/maxItems
uniqueItems
additionalProperties
propertyNames
allOf/anyOf/oneOf/not
if/then/else
Referències $ref
Reutilització $defsdefinitionsdefinitionsdefinitions$defs$defs
dependentRequired
Tuples prefixItemsforma arrayforma arrayforma arrayforma arrayprefixItems
unevaluatedProperties
$dynamicRef/$anchor✓ $recursiveRef✓ dynamicRef