Generador de JSON de ejemplo desde struct de Go

Pega una definición de struct de Go con etiquetas json para generar automáticamente datos JSON de ejemplo. Compatible con structs anidados, slices, omitempty y json:"-", ideal para mocks de API y ejemplos de Postman.

Consejos de uso

  • Si pegas varios structs juntos, los tipos de los campos anidados se resuelven automáticamente y se generan objetos de ejemplo de forma recursiva (si no se encuentra una definición, se usa un objeto vacío {} y se muestra una advertencia).
  • Indica un nombre de struct objetivo para elegir cuál se usa como raíz cuando la entrada contiene varios (si se deja vacío, se usa el primer struct que aparece).
  • Los campos con la etiqueta json:"-" se excluyen de la salida JSON. Los campos con omitempty igual generan su clave con normalidad, así que elimínala manualmente si no la necesitas.
  • Los valores generados son solo marcadores de posición según el tipo (las cadenas se convierten en "example", los números en 1, etc.). Sustitúyelos por datos reales si necesitas un ejemplo real de respuesta de API.
  • Esta herramienta es la inversa de su hermana, el conversor de JSON a struct de Go. Te permite convertir rápidamente un struct definido en un handler de Go en una carga de ejemplo para tu equipo de frontend o QA.

Preguntas frecuentes

Convertir a mano un struct de respuesta de una API en Go a JSON es propenso a errores, especialmente con estructuras muy anidadas donde es fácil confundir un tipo o una etiqueta json. Generarlo automáticamente permite compartir con el equipo de frontend o QA una carga de ejemplo precisa mucho más rápido.

Si no se encuentra en la entrada la definición del struct referenciado, el valor de ese campo se muestra como un objeto vacío {} y aparece un mensaje de advertencia en pantalla. Pega también el struct de origen para obtener un ejemplo anidado correcto.

omitempty es solo una indicación del lado de Go para omitir valores cero al codificar, así que la clave se sigue generando con normalidad en el JSON de ejemplo. En cambio, un campo con json:"-" se excluye por completo durante la codificación, por lo que tampoco aparece en el JSON de ejemplo.

No, son solo marcadores de posición que satisfacen el tipo. Las cadenas se convierten en "example", los enteros en 1, los números de punto flotante en 1.5 y los booleanos en true; son valores fijos que debes reemplazar según tu caso real.

No: esta herramienta es un analizador ligero basado en expresiones regulares y análisis línea por línea, no en un analizador sintáctico real de Go (AST). No admite notaciones complejas como declaraciones de tipo en varias líneas o structs anónimos anidados, así que trátala como un generador rápido de borradores.
ツールくん

Curiosidad — La inversa de la conversión de JSON a struct de Go

Al construir una API web en Go, la forma de la respuesta se suele definir combinando un struct con etiquetas json. Pero cuando un desarrollador de frontend o un ingeniero de QA quiere comprobar el comportamiento de la API, leer el código de Go y convertir mentalmente cada tipo de campo a JSON es tedioso y propenso a errores.

Esta herramienta realiza justo la operación inversa de su hermana, el «Conversor de JSON a struct de Go». Pega una definición de struct de Go y genera una carga JSON de ejemplo con nombres de clave según las etiquetas json y valores de marcador de posición según el tipo de cada campo, lista para usar directamente en un ejemplo de Postman o en un mock de frontend.

Aun así, no es un compilador real de Go, sino un analizador ligero basado en expresiones regulares y análisis línea por línea. Maneja definiciones de campos simples y structs anidados pegados juntos en la misma entrada, pero notaciones complejas como structs anónimos anidados o declaraciones de tipo en varias líneas pueden no analizarse correctamente. Úsala como un borrador inicial y verifica la forma final contra el código fuente real de Go.

→ Ver todas las curiosidades