Inicio › Herramientas para desarrolladores › Generador de datos de prueba desde JSON Schema

Generador de datos de prueba desde JSON Schema

Pega un JSON Schema (draft-07, 2019-09 o 2020-12, o un componente de OpenAPI) y obtén JSON de ejemplo realista que lo cumple: nombres, correos, fechas, UUID y precios donde los nombres de las propiedades lo sugieren, valores que coinciden con patrones y rangos, y tantos documentos como necesites. Una semilla hace que el resultado sea repetible para pruebas y fixtures.

Última actualización:

Los datos se generan en tu navegador a partir de tu esquema. No se sube nada y la misma semilla siempre da el mismo resultado.

Publicidad
Publicidad

Cómo usar Generador de datos de prueba desde JSON Schema

  1. Pega tu JSON Schema en el cuadro de la izquierda, abre un archivo .json o elige uno de los ejemplos.
  2. Elige cuántos documentos generar y una semilla. Mezclar elige una semilla nueva.
  3. Decide qué hacer con las propiedades opcionales: incluirlas siempre, incluir más o menos la mitad o solo las obligatorias.
  4. Pulsa Generar datos (o deja activada la Actualización en vivo) y revisa las notas bajo los paneles.
  5. Copia o descarga el resultado como JSON o NDJSON para fixtures, API simuladas o datos iniciales.

Cómo influyen las palabras clave del esquema en los datos generados

Palabra claveEfecto en el resultado
typeElige string, number, integer, boolean, null, array u object. Con una lista como ["string","null"], null aparece aproximadamente una de cada cinco veces.
enum / constUno de los valores indicados, o exactamente la constante.
formatValores bien formados: email, uri, uuid (versión 4), date, date-time, ipv4 y otros.
patternUna cadena aleatoria que cumple la expresión regular: se admiten clases, rangos, grupos, alternancia y cuantificadores.
minimum, maximum, multipleOfNúmeros dentro del rango; multipleOf 0.01 da precios con dos decimales.
minItems, maxItems, uniqueItemsLongitud del array dentro de los límites, sin duplicados cuando se exigen elementos únicos.
requiredLas propiedades obligatorias siempre están presentes; las opcionales siguen el ajuste Propiedades opcionales.
allOfTodos los subesquemas se combinan antes de generar.
oneOf / anyOfSe elige una rama al azar para cada valor, así que varios documentos muestran las distintas formas.
$refSe siguen las referencias locales; las estructuras recursivas se detienen tras unos pocos niveles.
examples, defaultSe usan como valor cuando "Usar examples / default" está activado.

Consejos para mejores datos de prueba

  • Pon nombres claros a las propiedades. billingCity o unitPrice dan valores más realistas que field3.
  • Añade examples para cadenas específicas del negocio, como nombres de productos o códigos de planes; el generador las va alternando.
  • Usa una semilla fija en las pruebas para que los fixtures no cambien entre ejecuciones, y genera un lote mayor con una semilla nueva para buscar casos límite.
  • Cierra el ciclo: genera un esquema a partir de una respuesta real con el Generador de JSON Schema, ajústalo, crea aquí los datos de prueba y luego comprueba las muestras con el Validador de JSON Schema.

Preguntas frecuentes

¿Qué es un generador de datos de prueba desde JSON Schema?

Lee un JSON Schema, el documento que describe cómo es un JSON válido, y produce JSON de ejemplo que lo cumple. Los desarrolladores lo usan para crear fixtures de prueba, respuestas de API simuladas, datos iniciales y ejemplos de documentación sin escribirlos a mano.

¿Qué versiones de JSON Schema son compatibles?

Funcionan las palabras clave comunes de draft-04, draft-06, draft-07, 2019-09 y 2020-12, incluidos $defs y definitions, prefixItems e items de estilo tupla, y exclusiveMinimum como número o booleano. También funcionan los esquemas de componentes de OpenAPI 3.0, incluidos nullable y example.

¿Está garantizado que los datos generados sean válidos?

Para las palabras clave compatibles, el generador respeta los tipos, las propiedades obligatorias, los enums, los rangos, las longitudes, el número de elementos y los patrones. Palabras clave como not, if/then/else y los archivos $ref externos no se pueden cumplir automáticamente, así que se indican en las notas. Comprueba los fixtures importantes con un validador de JSON Schema.

¿Para qué sirve la semilla?

La semilla inicia el generador de números aleatorios. El mismo esquema, las mismas opciones y la misma semilla producen siempre exactamente los mismos documentos, lo que mantiene estables las pruebas de snapshot y los ejemplos compartidos. Cambia la semilla o pulsa Mezclar para obtener datos nuevos.

¿Cómo elige valores realistas?

Cuando una cadena no tiene format, pattern ni enum, el nombre de la propiedad se usa como pista: firstName recibe un nombre de pila, email una dirección en example.com, zip un código de 5 dígitos, createdAt una marca de tiempo. Los números llamados price, age, rating o quantity reciben rangos razonables, salvo que el esquema fije su propio minimum y maximum.

¿Los correos, teléfonos y URL son reales?

No. Los correos y las URL usan los dominios reservados example.com, example.org y example.net, y los teléfonos usan el rango ficticio 555, así que los datos son seguros para pruebas y demostraciones.

¿Puede seguir $ref a otros archivos?

Solo referencias dentro del mismo esquema, como #/$defs/address o #/definitions/Item. Las referencias a archivos remotos o relativos no se pueden cargar en el navegador; primero agrupa el esquema en un solo archivo.

¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?

Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.

Herramientas relacionadas

Ver todas las de Generadores de código →