Vai al contenuto principale
CuteJSON
↑↓ Naviga Enter Seleziona Esc Chiudi

Come validare JSON contro un JSON Schema

Pubblicato 2 min di lettura Di Akash Kinkar Pandey

Uno schema e utile solo se puoi effettivamente controllare un documento contro di esso e ottenere una risposta chiara su cosa e fallito e dove. Questo validatore copre il sottoinsieme di JSON Schema che il generatore di questo sito scrive, quindi uno schema prodotto lì e garantito di poter essere applicato su questa pagina.

Usare il validatore JSON Schema

Incolla uno schema a sinistra e il documento da controllare a destra, poi premi Valida. Il caricamento dell'esempio riempie entrambi i pannelli contemporaneamente, quindi puoi modificare solo il documento e vedere immediatamente cosa lo schema rifiuta.

Dato lo schema

{
  "type": "object",
  "properties": {
    "age": {"type": "integer", "minimum": 0},
    "name": {"type": "string", "minLength": 2}
  },
  "required": ["age", "name"]
}

e il documento {"age": -5, "name": "A"}, la validazione segnala due problemi in un passaggio: minimum e fallito a /age perche -5 e al di sotto di 0, e minLength e fallito a /name perche "A" e un singolo carattere. Ogni problema viene segnalato, non solo il primo, e ciascuno porta la parola chiave esatta che lo ha rifiutato e un JSON Pointer al valore, quindi un problema e un percorso che puoi percorrere invece di una frase che devi decodificare.

Cosa e supportato

Type, enum e const; le parole chiave properties, patternProperties, additionalProperties e required; lunghezza, pattern e formato sulle stringhe; limiti e multipli sui numeri; items e uniqueItems sugli array; i combinatori allOf, anyOf, oneOf e not; if-then-else; e riferimenti locali tramite $defs o definitions. Una parola chiave che questo validatore non implementa viene trattata come un'annotazione e ignorata, che e esattamente ciò che la specifica JSON Schema consente a un validatore di fare con una parola chiave non riconosciuta.

Cosa ferma l'intero controllo

Un $ref che non nomina nulla all'interno dello schema, o uno che punta completamente al di fuori, ferma la validazione del tutto e lo indica. Segnalare un risultato di successo o fallimento per uno schema che non poteva essere completamente risolto sarebbe una bugiata vestita da risposta, quindi lo strumento si rifiuta di darne una.

Invertire i lati

Poiche i pannelli dello schema e del documento sono visivamente simili, Invertire i lati sposta lo schema attuale nel pannello del documento e viceversa, utile se li hai incollati nelle caselle sbagliate o vuoi controllare rapidamente uno schema per la sua coerenza di base contro se stesso.

Torna a tutti i post