Generador de JSON Schema (draft 2020-12)

Genera un JSON Schema (draft 2020-12) a partir de un JSON de ejemplo: tipos, claves obligatorias, uniones con null, items de arrays y formatos de texto como email y date-time.

Se ejecuta completamente en tu navegador. Tus datos nunca se suben.

Herramientas Relacionadas

Ver Todas

¿Qué es Generador de JSON Schema?

Infiere un JSON Schema a partir de un documento de ejemplo. El generador describe el tipo de cada propiedad, fusiona los elementos de los arrays en un único esquema items, enumera las claves obligatorias, marca los valores anulables con uniones de tipos y puede detectar formatos de texto habituales.

Cómo usar Generador de JSON Schema

  1. Pega JSON en el cuadro Entrada JSON o usa Cargar ejemplo o Abrir archivo.
  2. Opcionalmente, fija un Título del esquema.
  3. Activa o desactiva Marcar claves como obligatorias, Detectar formatos de texto y No permitir propiedades adicionales.
  4. La salida JSON Schema se actualiza mientras escribes; usa Copiar o Descargar.

Ejemplo

Entrada
{"id":1,"email":"a@b.co"}
Salida
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "id": {
      "type": "integer"
    },
    "email": {
      "type": "string",
      "format": "email"
    }
  },
  "required": [
    "id",
    "email"
  ]
}

Cuándo usar Generador de JSON Schema

Úsalo como punto de partida para contratos de API, validación de configuraciones o generación de formularios. Un esquema inferido de un solo ejemplo es tan bueno como el ejemplo: añade a mano restricciones como minimum, enum o pattern antes de usarlo para validar datos reales.

Cómo funciona Generador de JSON Schema

El ejemplo se recorre de forma recursiva y cada posición acumula los tipos JSON vistos (integer, number, string, boolean, object, array, null). Los enteros mezclados con decimales pasan a number; varios tipos se convierten en un array type como ["object", "null"]. En los arrays de objetos, una propiedad solo es obligatoria si todos los objetos la tienen. La detección de formatos comprueba las cadenas con patrones de date-time, date, time, email, uuid, uri e ipv4, y solo añade format cuando todos los valores coinciden. El resultado declara $schema: https://json-schema.org/draft/2020-12/schema.

Casos de Uso Comunes

  • Preparar un esquema para el cuerpo de una petición de API
  • Validar archivos de configuración con ajv o en un paso de CI
  • Documentar la forma del payload de un webhook
  • Generar formularios a partir de un esquema en herramientas que aceptan JSON Schema

Preguntas Frecuentes

¿Qué draft se genera?

El draft 2020-12, declarado con la palabra clave $schema. Las palabras clave usadas (type, properties, required, items, format, additionalProperties) también son válidas en draft-07.

¿Cómo se detectan las propiedades opcionales?

Solo a partir de arrays de objetos: si una clave falta en algunos elementos, se deja fuera de required. Para un solo objeto, todas las claves son obligatorias cuando la opción está activada.

¿Se aplica la validación de formatos?

En JSON Schema, format es por defecto una anotación; validadores como ajv necesitan activar la validación de formatos (ajv-formats).

Siguientes pasos recomendados

Explora más categorías