Cómo generar un esquema JSON a partir de una muestra
Introduce una muestra válida en JSON para obtener una representación de JSON Schema y añade un título si necesitas identificarla. Después, revisa las inferencias, porque describen los datos observados y no las reglas que no aparecen en la muestra.
Para qué sirve
Este generador crea una representación de JSON Schema a partir de una muestra escrita en JSON. Puede servirte para obtener una primera descripción de la forma de unos datos antes de documentarlos o de compararlos con las reglas de tu proyecto.
La entrada puede ser un objeto, una lista o un valor sencillo, y puedes añadir un título para reconocer el resultado. La representación se basa en lo que aparece en la muestra: si un campo, una variante o una condición no está presente, no hay datos de entrada que permitan inferirla. Por eso, prepara ejemplos que reflejen los casos que quieras revisar y considera el resultado como un punto de partida ajustable, no como una descripción de requisitos que no hayas incluido.
El objetivo es transformar una muestra válida en una estructura legible de JSON Schema, manteniendo separados los datos de ejemplo y las decisiones que tendrás que tomar después sobre su significado. Esta distinción ayuda a interpretar correctamente el resultado cuando la muestra es pequeña o representa una sola situación.
Pasos para generar la representación
-
Prepara una muestra válida en JSON. Puedes usar un objeto, una lista o un valor como
true,12,3.5onull. Comprueba que las comillas, las llaves, los corchetes, los dos puntos y las comas respeten la sintaxis de JSON. -
Escribe la muestra en el campo principal de datos, que recibe texto. Si ese campo queda en blanco, también puede utilizarse el primer valor adecuado disponible entre
json,data,text,input,valueosample. Si no existe una muestra utilizable, la operación termina sin generar una representación. -
Añade un título solo cuando quieras identificar el resultado con un nombre concreto. El campo es opcional; si no escribes nada o lo dejas vacío, se aplica
Generated Schema. -
Inicia la generación con la muestra seleccionada. El contenido elegido se analiza como JSON y se transforma en una representación de JSON Schema. La entrada no puede superar 1.000.000 de bytes al codificarse en UTF-8.
-
Examina el resultado antes de incorporarlo a tu documentación. Si el texto contiene JSON mal formado, la herramienta lo rechaza y no lo convierte en un esquema; corrige la sintaxis y repite la operación con una muestra válida.
Cómo leer el resultado
Un objeto produce un esquema de tipo object con una descripción de propiedades para cada miembro observado. Los nombres presentes en la muestra aparecen como obligatorios y las propiedades que no están contempladas quedan desactivadas en ese esquema. Si tu caso admite un campo opcional, comprueba si también está representado en los datos y ajusta después la definición según corresponda.
Una lista produce un esquema de tipo array. Cuando no contiene elementos, el esquema de sus elementos queda sin una restricción concreta. Si reúne elementos con estructuras diferentes, esas posibilidades pueden combinarse mediante anyOf, después de eliminar las descripciones duplicadas.
Los valores null, booleanos, enteros y decimales se reconocen como tipos null, boolean, integer y number, respectivamente. Las cadenas se reconocen como texto y pueden recibir los formatos email, uuid, uri, ipv4, date-time, date o time cuando coinciden con los patrones previstos. El resultado incluye el identificador de JSON Schema draft-07. Revisa cada decisión frente a tus necesidades y añade manualmente las reglas que no puedan deducirse de la muestra.
Ejemplo práctico
Quieres documentar la estructura inicial de un registro de cliente que también indica si está activo antes de revisar sus reglas.
Introduce {"cliente":{"correo":"ana@example.com"},"activo":true} como muestra, deja vacío el título y ejecuta la generación para obtener la representación correspondiente a ese objeto observado después de analizarlo como JSON válido. Los tipos deducidos incluyen un objeto anidado para cliente y un booleano para activo.
Una representación de JSON Schema de tipo object, con propiedades para cliente y activo; ambos nombres aparecen como obligatorios y las propiedades adicionales quedan desactivadas.
Limitaciones
- La representación depende de los valores observados y puede no expresar campos opcionales, variantes o reglas que no estén presentes en la muestra.
Errores frecuentes
- Causa: el texto tiene una sintaxis JSON incorrecta o no contiene un valor utilizable. Corrección: revisa los delimitadores y coloca una muestra válida en el campo principal o en una entrada alternativa disponible.
Preguntas frecuentes
¿Qué ocurre si el JSON no es válido?
La herramienta rechaza el contenido y no genera una representación cuando la sintaxis no es JSON válida. Corrige comillas, separadores y delimitadores antes de volver a introducir la muestra para analizarla.
¿Cómo se interpreta una lista vacía?
Una lista sin elementos produce un array cuyo esquema de elementos queda sin una restricción concreta. Añade ejemplos de contenido si quieres que la representación pueda describir esos elementos observados.
¿Puedo generar el esquema sin indicar un título?
El título no es obligatorio: cuando el campo se omite o permanece vacío, el resultado utiliza Generated Schema. Escribe otro nombre si necesitas distinguir esa representación de otras muestras analizadas.