Vai al contenuto
snowkitDev

Convalida, interroga e simula il tuo JSON

Controlla un documento JSON rispetto a uno schema JSON e vedi esattamente quale campo è sbagliato e perché, prova espressioni JSONPath con risultati in tempo reale, o trasforma uno schema o un esempio in quanti record di prova realistici ti servono.

Convalida rispetto a uno schema

Il tuo JSON e il JSON Schema a cui deve corrispondere.

draft 2020-12 o 07

    Controllato mentre scrivi

    Controlla il JSON rispetto a uno schema, estrai valori con JSONPath e crea dati di prova realistici, tutto nel tuo browser. Niente viene caricato, quindi è sicuro per dati privati. È gratis e non richiede un account.

    Come usare gli strumenti JSON

    1. Apri la scheda Convalida, JSONPath o Dati di prova. Carica l'esempio mostra un insieme funzionante.
    2. Convalida: incolla i tuoi dati JSON e uno JSON Schema, premi Sistema entrambi per formattarli e leggi i problemi elencati.
    3. JSONPath: incolla il tuo JSON, scrivi un'espressione JSONPath e leggi il risultato. Mostra i percorsi aggiunge la posizione di ogni corrispondenza, e Copia il risultato lo porta via.
    4. Dati di prova: incolla uno schema o un record di esempio (oppure Prova un record di esempio), imposta il numero di Record e un Seed, e scegli l'Output: array JSON, NDJSON (uno per riga) o CSV.
    5. Premi Copia o Scarica.

    Cosa controlla il validatore

    Le parole chiave principali di JSON Schema draft 2020-12 e draft 07: type, properties, required, additionalProperties, patternProperties, items e prefixItems, enum, const, limiti di numero e lunghezza, pattern, uniqueItems, contains, oneOf, anyOf, allOf, not, if/then/else, e $ref a definizioni locali come #/$defs/address. I formati controllati sono email, uri, date, time, date-time, uuid, ipv4, ipv6 e hostname. Ogni problema è elencato con il suo percorso, come $.items[2].price, così lo trovi in fretta.

    JSONPath in breve

    $ è la radice, .name sceglie una chiave, ..name cerca a qualsiasi profondità, * corrisponde a tutto, [0] e [-1] scelgono per posizione e [0:3] prende una porzione. I filtri come [?(@.price < 10)] mantengono gli elementi che superano un test; puoi confrontare con ==, !=, <, >, trovare con un'espressione regolare con =~ /text/i, controllare che una chiave esista con [?(@.isbn)] e combinare i test con && e ||.

    Dati di prova realistici

    Incolla uno schema per ottenere record che lo rispettano, con numeri dentro il tuo minimo e massimo, stringhe che rispettano lunghezza, pattern e formato, e valori scelti da ogni enum. Incolla invece un record di esempio e la sua forma viene copiata. I nomi dei campi guidano i valori, quindi email, first_name, city, price, created_at e is_active ricevono contenuti credibili, e le email corrispondono ai nomi nello stesso record.

    Consigli

    • Usa lo stesso seed per ottenere di nuovo gli stessi dati di prova, il che rende ripetibili i test.
    • Quando la convalida fallisce, correggi il primo errore e controlla di nuovo, perché un solo errore può causarne diversi.
    • Parti dal JSONPath $..name per cercare in un file grande una chiave che conosci.
    • Usa l'output NDJSON per gli strumenti che leggono un record per riga.

    Chi lo usa

    Sviluppatori che provano un'API, analisti che estraggono campi da un'esportazione e studenti che imparano JSON. Strumenti correlati: Da JSON a tipi, convertitore di formati e confronto delle differenze.

    Domande

    Il mio JSON viene caricato?

    No. Tutto funziona nel tuo browser.

    Quali versioni dello schema sono supportate?

    Draft 2020-12 e draft 07, per le parole chiave elencate sopra.

    I dati di prova sono reali?

    No. È inventato, quindi si può condividere e usare nei test senza problemi.

    Dove andare ora

    Continua con ciò che hai appena creato, ancora sul tuo dispositivo.

    Altro da Snowkit