De muestras a reglas

Generador JSON Schemarevisa las variantes antes de fijar el contrato

Prueba el ejemplo. Elige varias muestras solo si cada elemento del array exterior representa un documento independiente.

Generador JSON Schema

Muestras JSON

Esquema de salida

Procesamiento en este navegador, sin subir ni guardar las muestras.

Opciones de inferencia

Las muestras no son un contrato de negocio. Todos requeridos y enum pueden restringir demasiado los datos.

1 muestras · 7 propiedades · 0 enums · 0 omitidos

El Generador JSON Schema resulta útil cuando tienes respuestas de una API pero falta una especificación completa. Una respuesta correcta no demuestra que todas las futuras incluyan las mismas claves. Combinar variantes permite ver esa incertidumbre.

Una clave ausente no equivale a una clave presente con valor null. required controla la presencia y el tipo controla los valores. Puedes exigir una propiedad y permitir null al mismo tiempo, sin confundir ambos criterios.

Por qué usar este Generador JSON Schema

Examinar más que el primer registro

El Generador JSON Schema utiliza todos los elementos situados en la misma posición estructural. Una clave ausente deja de ser requerida en común; un null explícito se incorpora al tipo. Los objetos de rutas distintas no se mezclan por compartir nombres.

Dos registros se unen en un árbol; la rama ausente queda discontinua y null conserva un marcador hueco.

Conservar las restricciones manuales

Al entrar en edición se detiene la generación automática. La siguiente generación muestra un candidato separado. Aplicar sustituye un esquema y Deshacer restaura también la entrada y las opciones anteriores.

Una estructura generada pasa por una revisión con lápiz; el candidato y el borrador anterior quedan separados.

Tres decisiones antes de exportar

01

Definir el papel del array exterior

Documento único conserva el array como raíz de los datos. Varias muestras combina sus elementos como documentos independientes. Para comparar documentos que ya son arrays, introduce un array de arrays.

02

Decidir presencia y null por separado

Las propiedades requeridas comunes aparecen en cada objeto de esa posición. Exigir todos los campos puede rechazar una muestra original incompleta. Permitir null no elimina claves de required.

03

Actualizar sin perder cambios

Cambiar entrada u opciones desactiva la exportación inmediatamente. La generación automática espera 350 ms; en manual puedes pulsar Ctrl/Cmd+Intro. Tras editar, revisa el candidato y aplícalo expresamente.

Cómo se combinan los datos

Tres drafts con sintaxis compartida

El Generador JSON Schema ofrece Draft 7, 2019-09 y 2020-12. Usa type, properties, required, enum e items de esquema único, comunes a los tres. Solo cambia la URI $schema; no migra esquemas complejos existentes.

Un esquema para arrays completos

Todos los elementos aportan tipos. Un array vacío no aporta evidencia y, si todos están vacíos, items queda como {}. 1.0 y 100e-2 son integer por su valor; las fracciones reales se combinan como number.

Enumeraciones opcionales

enum está desactivado al inicio. Al activarlo se reúnen hasta 20 valores distintos por posición escalar, incluido null añadido. Si se supera el límite se omite el enum completo y se cuenta en el estado, sin recortar la lista de valores.

JSON a JSON Schema sin redondear números

Los enteros grandes mantienen su escritura original. Valores equivalentes como 1 y 1.0 se deduplican sin conversión a Number. Puedes editar las reglas; la comprobación posterior solo cubre sintaxis JSON y forma de la raíz.

Lo que las muestras no demuestran

No se adivinan reglas de negocio
Las fechas siguen siendo string. No se infieren format, pattern, rangos, longitudes ni valores predeterminados. Se permiten propiedades adicionales. Añade esas restricciones solo si forman parte del contrato real.
Los datos no observados siguen siendo desconocidos
Solo null no revela el tipo no vacío y un array vacío no revela su contenido. No se preservan relaciones entre campos ni discriminadores, por lo que pueden admitirse combinaciones ausentes de las muestras.
Sin tuplas ni atajo del primer elemento
Todos los elementos alimentan un único items. No se deducen posiciones fijas, longitud, referencias ni condiciones. Todos requeridos puede excluir intencionadamente un registro original al que le falte una clave.
Editar no certifica la semántica
La salida debe ser un objeto o booleano JSON; los errores sintácticos y las claves duplicadas se rechazan. No se valida el metaesquema, no se resuelven referencias ni se comprueban muestras de negocio. Un tipo mal escrito puede seguir siendo JSON válido.
Límites del documento completo
Entrada y salida permiten 500.000 caracteres y 50.000 nodos cada una. Profundidad: 40 en entrada y 100 en salida editada. El modo múltiple admite 1–1.000 muestras. Sin comentarios, comas finales, NDJSON, archivos ni URL. Si la salida supera el presupuesto se detiene toda la generación.

Preguntas del Generador JSON Schema

¿Qué draft de JSON Schema usa el generador?

Por defecto utiliza 2020-12; también puedes elegir Draft 7 o 2019-09. Selecciona la versión de tu validador. La forma de arrays ordinarios que genera esta página es común a las tres.

¿Cómo se deciden las propiedades requeridas al generar un esquema?

En modo común, una clave debe aparecer en cada objeto de esa posición. null cuenta como presente. También puedes exigir todas las claves observadas o ninguna, según el contrato que quieras revisar.

¿El generador infiere formatos de cadena como email o date?

No. Las fechas y direcciones de correo se conservan como string. Añade format manualmente cuando sea una exigencia real y comprueba cómo lo trata tu validador.

¿Cómo infiere el esquema para los arreglos?

Combina todos los elementos en un mismo items. Si solo hay arrays vacíos, items es {}. No interpreta el orden observado como una estructura de tupla fija.

¿Puedo usar el esquema generado directamente en producción?

Primero debes revisar las reglas. Las muestras no prueban todos los valores permitidos ni qué campos adicionales son inválidos. Completa las condiciones y valida ejemplos positivos y negativos en tu proyecto.

¿Encontraste una inferencia que conviene revisar?

Revisa el contrato antes de adoptarlo

Usa el Generador JSON Schema con respuestas habituales y casos límite; después añade las restricciones que realmente exige tu aplicación.