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

Qulqi: Convierte números a letras en java

Qulqi: Convierte números a letras en java

Hola 🙂 publicando de tiempo les dejo esta chiti librería java para convertir números a su equivalente literal. La librer...

Crear e instalar modulo NBM

Crear e instalar modulo NBM

Este post es la continuación del tutorial «Generador de código para Netbeans« en donde vimos como crear un modulo para N...

Operador de Complemento bit a bit «~»

Operador de Complemento bit a bit «~»

Operador de Complemento bit a bit unario Entre los operadores a nivel de bits de uso más común en java tenemos al operad...

Introducción a Scene Builder y MVC (Parte II)

Introducción a Scene Builder y MVC (Parte II)

Segunda parte del tutorial [Introducción a Scene Builder y MVC (Parte I)]. En esta segunda parte, completaremos el diseñ...

Rompecabezas [Código Fuente]

Rompecabezas [Código Fuente]

Hace tiempo me pidieron el código fuente de un juego de Puzzle de Neon Genesis Evangelión, este juego es completo, tiene...

Biblioteca Matemática avanzada para java

Biblioteca Matemática avanzada para java

Java cuenta con la clase java.lang.Math  la cual contiene métodos para realizar operaciones numéricas básicas como las f...

Comparte lo que sabes

Categorias

Últimas entradas

Melody.ml  es un aplicación online que usa la I.A (Inteligencia Artificial) para procesar archivos MP3 y separar en pist...

Small Basic es un lenguaje de programación propiedad de Microsoft creado especialmente para ayudar a los estudiantes a p...

Lorca Editor es una aplicación online creada por el desarrollador español Domingo Martin el cual tiene como objetivo el...

Eratóstenes era un matemático griego del siglo  III a.C. el cual ideó una manera rápida de obtener todos los números pri...

Herramientas

Generador de Enlaces a Whatsapp