ForHosting KIT · Dati e file

Validare JSON con uno schema

Scopra se un record rispetta le regole che deve seguire: nell'esempio Ada, 37 anni, con le etichette math e code rispetta ogni regola, quindi l'elenco dei problemi torna vuoto. Quando qualcosa non va, riceve tutti i problemi in una sola volta. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto

Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.

Un identificatore assente, una proprietà inattesa, una stringa troppo corta o un numero fuori intervallo possono interrompere un’importazione molto dopo il parsing.

Scritto bene non vuol dire corretto

I dati possono leggersi alla perfezione ed essere comunque sbagliati per il sistema che li riceve. Un identificativo mancante, una voce inattesa, un testo troppo corto o un numero fuori dal suo intervallo possono bloccare un'importazione molto dopo che i dati sono stati letti senza problemi. La lettura verifica soltanto la punteggiatura. Il contratto è il luogo delle aspettative reali: quali voci devono esserci, che tipo di valore contiene ciascuna, quali limiti valgono e se è ammesso altro. Questo strumento confronta i dati con quel contratto ed elenca tutte le violazioni trovate, senza fermarsi alla prima.

Come leggere il risultato e sfruttarlo

Un elenco di problemi vuoto significa che ogni regola è rispettata, come nell'esempio: Ada, 37 anni, con le etichette math e code, soddisfa un contratto che chiede un nome di almeno due lettere, un'età intera non inferiore a zero, etichette che non si ripetono e nessun'altra voce. Ogni problema indica dove si trova nei dati, quale regola ha violato e un messaggio leggibile. Usi il messaggio per le persone e la posizione e la regola per l'automazione: un modulo può evidenziare il controllo corrispondente e un'importazione può raggruppare gli errori ricorrenti prima che i record di un partner arrivino al suo database.

Verifichi il contratto, non solo la punteggiatura

Non sa che un ordine deve contenere un numero, che una quantità deve essere positiva o che un oggetto deve rifiutare campi sconosciuti. Il risultato contiene il verdetto booleano <code>valid</code> e l’array <code>violations</code>. Un array vuoto indica che il documento rispetta ogni vincolo valutato.

In caso di errore vengono mantenuti tutti i problemi, senza fermarsi al primo. Il validatore gestisce tipi, proprietà obbligatorie e dipendenti, proprietà aggiuntive, elementi di array, lunghezze, pattern, limiti numerici, costanti, enumerazioni, riferimenti locali e composizioni di schemi.

Legga i percorsi delle violazioni senza supposizioni

La stringa vuota indica la radice; <code>/customer/email</code> identifica l’e-mail in customer; <code>/lines/2/quantity</code> identifica quantity nel terzo elemento. Usi il messaggio per interfacce e log, ma percorso e parola chiave per la logica automatica. Un modulo può collegare il problema al controllo corretto e una pipeline può raggruppare gli errori ricorrenti.

Proteggere le importazioni dati

Convalidi i record dei partner prima del caricamento, bloccando campi assenti e strutture inattese.

Che cosa restituisce una convalida riuscita?

Restituisce valid impostato su true e un array violations vuoto.

Il controllo si ferma al primo problema?

No. Tutti i problemi trovati vengono conservati e riportati insieme, il che conta per moduli, importazioni in blocco e revisioni di configurazioni, dove correggere un errore per volta fa perdere tempo. Un elenco vuoto significa che ogni regola è rispettata.

Come si legge la posizione indicata per ogni problema?

Una posizione vuota indica l'intero documento. Una posizione come /customer/email indica l'email dentro customer, e /lines/2/quantity indica la quantità del terzo elemento di lines, perché le posizioni si contano da zero.

Che tipo di regole può esprimere il contratto?

Il tipo di ogni valore, quali voci sono obbligatorie o dipendono da altre, se sono ammesse voci inattese, lunghezza e modello dei testi, limiti dei numeri, valori fissi ed elenchi di valori ammessi, regole per gli elementi di una lista e combinazioni di più regole.

Perché dati che si leggono senza errori possono non superare il controllo?

Perché la lettura conferma solo che graffe, virgolette e virgole sono in ordine. Non sa che un ordine deve avere un numero, che una quantità deve essere positiva o che le voci sconosciute vanno rifiutate: queste aspettative stanno nel contratto.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

POSThttps://api.kit.forhosting.com/data/json-schema-validate

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/data/json-schema-validate \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"document":{"name":"Ada","age":37},"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}}}'
{
  "document": {
    "name": "Ada",
    "age": 37
  },
  "schema": {
    "type": "object",
    "required": [
      "name"
    ],
    "properties": {
      "name": {
        "type": "string"
      }
    }
  }
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "data.json_schema_validate",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

max_mb25
HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Un JSON può essere formalmente perfetto e risultare comunque errato per il sistema che lo riceve. Questo validatore confronta un documento JSON con un JSON Schema e restituisce tutte le violazioni rilevate in una sola risposta. Ogni problema include il percorso nel documento, il percorso nello schema, la parola chiave e una spiegazione leggibile, così Lei può individuare subito il campo da correggere.

Convalidi il contratto, non soltanto la sintassi JSON

Un parser JSON stabilisce solo se parentesi, virgolette, virgole e valori formano JSON valido. JSON Schema descrive queste aspettative come contratto leggibile dalla macchina. Inserisca il documento in <code>document</code> e il contratto in <code>schema</code>.

Legga i percorsi delle violazioni senza supposizioni

Ogni violazione include un <code>path</code> espresso come JSON Pointer. L’escaping Pointer rende inequivocabili anche proprietà con barra o tilde. <code>schema_path</code> rimanda alla regola responsabile, mentre <code>keyword</code> offre una categoria stabile come <code>required</code>, <code>type</code> o <code>minimum</code>. L’ordine di visita deterministico assicura lo stesso output per lo stesso documento e schema.

Distingua uno schema malformato da dati non validi

Un documento non valido produce un risultato normale: la richiesta termina con <code>valid</code> su false e descrive tutte le violazioni. Un contratto rotto non viene quindi scambiato per dati difettosi. Uno schema malformato è diverso, perché impedisce una verifica affidabile. Se una parola chiave ha forma errata, un tipo è sconosciuto, un’espressione regolare non compila, un limite numerico è insensato o un riferimento locale non si risolve, la capacità restituisce <code>invalid_input</code>. L’implementazione pura non usa la rete e non recupera riferimenti remoti; utilizzi riferimenti JSON Pointer locali che iniziano con <code>#/</code>. È adatta ai confini API, prima degli import, per output strutturati e nelle pipeline di build. Le richieste API partono da $0.002; la stessa logica funziona nel browser.

Rifiutare payload API errati

Controlli i corpi delle richieste e restituisca percorsi precisi per ogni campo che i client devono correggere.

Verificare JSON generato

Controlli output strutturati rispetto a tipi, intervalli e proprietà richieste prima che un altro sistema agisca.

La verifica si ferma al primo problema?

No. Riporta ogni violazione con percorso del documento, percorso dello schema, parola chiave e messaggio.

Che cosa accade se lo schema è malformato?

La richiesta fallisce con invalid_input, perché un contratto errato non consente una verifica affidabile.

Sono supportati riferimenti remoti allo schema?

No. Il validatore non usa la rete e supporta riferimenti JSON Pointer locali nello schema fornito.

Quanto costa una convalida tramite API?

Ogni richiesta parte da $0.002. L’esecutore nel browser usa la stessa logica pura per i controlli interattivi.

Leggi la documentazione completa del KIT →