Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Jaspersoft Studio / Java / Generar reportes con origen de datos JSON

Generar reportes con origen de datos JSON

Autor jc mouse jueves, enero 10, 2019

JSON es un formato de texto ligero para el intercambio de datos ampliamente usado en los Servicios Web.

En este post utilizaremos este formato de texto como origen de datos para la generación de un reporte.

Necesitamos:

  • Jaspersoft Studio
  • Objeto JSON

Tiempo: 20 minutos

Paso 1. JSON

Nuestro objeto JSON contiene los datos del universitario Homero y a la vez este objeto contiene otro objeto json con los datos de la universidad a la cual asiste, también cuenta con un array con los teléfonos de contacto de Homero.

{
  "dni": "1234567",
  "nombre": "Homero Jay",
  "apellido": "Simpson",
  "universidad": {
    "nombre": "Universidad de Springfield",
    "direccion": "Av. Siembre Viva 777",
    "mail": "springfield@mail.com"
  },
  "telefono": [
    {
      "numero": "800-123-9000"
    },
    {
      "numero": "+591 78900012"
    }
  ]
}

Guarda este objeto json en un archivo con el nombre de “homero.json”, la extensión “*.json” es importante. Usaremos este archivo más adelante.

Paso 2. Crear el reporte

  • Con tu JasperSoft abierto, crea un nuevo reporte desde el menú File -> New -> Jasper Report.
  • Elige el tamaño de papel Blank Letter o cualquiera que gustes.
  • Elige el proyecto donde se guardara el reporte (en nuestro caso el proyecto se llama Mouse) y escribe un nombre para el archivo, nosotros lo llamaremos “HomeroReporte.jrxml”
  • Te preguntara si quieres crear un Data Source (podemos hacerlo ahora pero lo dejaremos para más adelante), deja el Data Adapter con la opción por defecto, “One empty record” y presiona [FINISH] para crear el reporte.

proyecto jasper

Paso 3. Creación del Data Adapter

Con nuestro proyecto seleccionado, ve al menú File – New -> Data Adapter

Escribe como nombre “HomeroDATAADAPTER.xml”, presiona [NEXT]a continuación busca y selecciona la opción “JSON File”.

En la siguiente ventana completa los siguientes datos:

  1. Name: Homero Data Adapter
  2. Busca el archivo homero.json que creaste en el paso 1, también puede ser una URL.
  3. Selecciona la opción “Use the report JSON expression when filling the report”
  4.  Si trabajamos con fechas y números podemos personalizar el formato de estos para que se acomode a nuestras necesidades. En esta ocasión dejamos como esta.
  5. Realizamos un test para comprobar la correcta conexión a nuestro origen de datos presionando el botón [test]
  6. Presionamos el botón [finish] para terminar con la creación del Data Adapter

Data Adapter

Podemos modificar estos parámetros en cualquier momento.

Paso 4. Configuración inicial del Data Apdater

Presionamos el botón “Data Set and Query Editor Dialog”

query report

En la venta de dialogo que se despliega, realiza los siguientes pasos:

  1. Busca el Adapter que creaste en el paso anterior “Homero Data Adapter”
  2. En lenguaje busca y selecciona la opción JSON, se cargara la estructura del objeto JSON
  3. Presiona el botón [Read Fields] para cargar los campos del JSON
  4. En la pestaña [Data preview] puedes obtener una vista previa de tus datos contendidos en el JSON
  5. Para terminar presiona el botón [OK]

Data and Query

Paso 5. Iniciando el reporte

Una vez completado el paso 4 nuestros fields estarán disponibles para usarlos en la hoja del reporte. Arrastra los campos “dni”, “nombre” y “apellido” y lanza un “preview”

diseño de reporte

Paso 6. Objetos dentro objetos JSON

Dentro de nuestro objeto JSON tenemos otro objeto JSON llamado “universidad“, este objeto no podemos usarlo tal como esta, debemos primero hacer una modificaciones.

Abre la ventana “Dataset and Query ” y :

  1. Presiona el botón [add] para agregar un nuevo campo
  2. Escribe un nombre para identificar al campo, los nombres deben ser únicos
  3. Si es necesario especifica el tipo de clase, en nuestro caso es un String así que lo dejamos como esta.
  4. Aquí lo importante, para especificar un determinado campo del objeto json, se debe escribir el nombre del objeto seguido de un punto “.” y el nombre del campo, es decir, “objeto.campo”. Si este objeto tuviera otro objeto entonces hacemos algo como esto, “objeto.objeto.campo”.
  5. El campo “universidad” no lo usamos así que podemos eliminarlo. Selecciona el campo y presionas el botón [Delete]
  6. Ya para terminar presiona el botón [OK]

Jasper Object JSON

Nuestro nuevo campo se agrega a la lista de fields listo para ser usado en cualquier momento.

fields java

Añade este nuevo campo al reporte y para comprobar que todo anda bien, lanza un preview del mismo

Paso 7. Arrays dentro de un objeto

Los pasos para agregar campos contenidos dentro de un array son similares al paso anterior, veamos un ejemplo

Abrimos la ventana “Dataset and Query” y entonces:

  1. Presiona el botón [add] para agregar un nuevo campo
  2. Escribe un nombre único para el field
  3. Especifica el tipo de clase
  4. De la misma forma que hicimos para un objeto json, para acceder el campo de un array json, debemos indicar el nombre del array y entre paréntesis el indice del objeto que queremos acceder seguido de un punto y nombre del campo. Es decir “nombre_array[indice].nombre_campo”
  5. Para terminar presionamos [OK]

Repite esos pasos para el siguiente objeto en el array

Arrays report jasper

Los campos ya están disponibles para su uso en nuestro reporte

Arrays campos

Para terminar, añade estos nuevos campos al reporte y ejecuta el preview.

Jasper reporte tutorial

enjoy!!!

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

Personaliza un JComboBox estilo Metro de Windows

Personaliza un JComboBox estilo Metro de Windows

Si bien se pueden encontrar en google estilos java (Look and Feel) listos para cambiar la apariencia de nuestras aplicac...

Terminator: Terminal multiventanas para Linux

Terminator: Terminal multiventanas para Linux

Cada versión de Linux viene con su propia terminal predeterminada para interactuar con el Sistema Operativo a través de...

Sistema de gestión de stock – El Controlador (Parte 5)

Sistema de gestión de stock – El Controlador (Parte 5)

Para terminar el tutorial, debemos unir tanto la VISTA como el MODELO y para eso esta el CONTROLADOR. o.O El controlador...

Gráfico de columnas con iReport

Gráfico de columnas con iReport

El gráfico de columnas es uno  tipo de gráfico que nos permite representar fácilmente la cantidad de veces que ocurre un...

Guía básica: Trabajando con GitHub y Netbeans

Guía básica: Trabajando con GitHub y Netbeans

Netbeans tiene soporte para trabajar con varias herramientas de control de versiones, GIT es una de ellas, esta herramie...

Código de Control en PHP v7.0 Bolivia

Código de Control en PHP v7.0 Bolivia

NUEVA ESPECIFICACIÓN TÉCNICA DEL CÓDIGO DE CONTROL (Ver.7.0) En el marco del Nuevo Sistema de Facturación implementado p...

Comparte lo que sabes

Categorias

Últimas entradas

En este post aprenderemos lo que es la clonación de objetos en java o lo que es lo mismo, generación de nuevas instancia...

El índice TIOBE (TIOBE, The Importance of Being Earnest – “La importancia de ser honesto” – refe...

SDKMAN! es una herramienta para la administración de versiones paralelas de varios programas de desarrollo de software c...

Continuando con el estudio del meta lenguaje XML (Lenguaje de Marcado Extensible) bastante utilizado en el intercambio d...

Android Bolivia

MAUS