Usa questo generatore online di JSON Schema per creare definizioni di schema a partire da dati JSON di esempio per validazione, documentazione e contratti API.
Passo 1 – Fornisci un campione JSON
- Incolla un oggetto o un array JSON rappresentativo nell’editor di sinistra.
- Usa dati reali di produzione affinché lo schema rispecchi correttamente la struttura.
- Includi esempi di tutti i possibili valori dei campi e strutture annidate.
Passo 2 – Verifica lo schema generato
- Lo schema appare a destra con tipi inferiti, campi richiesti e definizioni della struttura.
- Controlla che elementi degli array, oggetti annidati e tipi delle proprietà siano corretti.
- Verifica che i campi opzionali vs richiesti siano identificati correttamente.
Passo 3 – Personalizza lo schema (opzionale)
- Copia lo schema generato e aggiungi regole di validazione, descrizioni o vincoli personalizzati.
- Aggiungi
enum valori, minLength/maxLength, o pattern regex secondo necessità. - Definisci
oneOf o anyOf per union type.
Passo 4 – Usa lo schema
- Scarica o copia lo schema per usarlo con validator JSON, strumenti di documentazione API o generatori di codice.
- Integra con librerie di validazione come Ajv (JavaScript), jsonschema (Python) o strumenti simili.
- Riferiscilo in specifiche OpenAPI/Swagger o usalo per generare codice type‑safe.
Suggerimenti rapidi per la generazione dello schema
- Valida sempre lo schema generato con un validatore JSON o con la tua libreria runtime prima di usarlo in produzione.
- Usa dati di esempio realistici in modo che il generatore online possa inferire correttamente tipi e proprietà richieste.
- Mantieni uno schema canonico per payload (es. request/response API) per evitare drift tra ambienti.
Nota sul supporto delle keyword dello schema
Se aggiungi keyword avanzate come $ref, anyOf, oneOf, o allOf, valida con un validatore JSON Schema completo (ad esempio Ajv) e considera di dereferenziare lo schema prima di generare dati mock.
Esempio: JSON → JSON Schema
// JSON input
{
"id": 1,
"name": "Maeve Winters",
"email": "[email protected]",
"active": true,
"tags": ["developer", "backend"]
}
// Generated JSON Schema (simplified)
{
"type": "object",
"properties": {
"id": { "type": "number" },
"name": { "type": "string" },
"email": { "type": "string" },
"active": { "type": "boolean" },
"tags": {
"type": "array",
"items": { "type": "string" }
}
},
"required": ["id", "name", "email", "active", "tags"]
}