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

Imagenes en Access y Java

Imagenes en Access y Java

Aplicación en Java realida con el IDE de Netbeans 6.9 para trabajar con images en Base de Datos en Access 2003, el progr...

Procesamiento de imágenes en java con ImageMagick

Procesamiento de imágenes en java con ImageMagick

im4java es una interfaz pura de Java para la línea de comandos de ImageMagick. La interfaz de la línea de comandos de IM...

Mapas interactivos – El proyecto – Parte 2

Mapas interactivos – El proyecto – Parte 2

Comenzando este tutorial, primero necesitamos definir la «estructura» de nuestro proyecto. Haremos uso del IDE de Dreamw...

Conexion Visual Basic a Firebird

Conexion Visual Basic a Firebird

En este tutorial nos conectaremos a una base de datos de Firebird utilizando el lenguaje de Visual Basic, el proyecto se...

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...

Tomar fotos con la camara y guardar en la sdcard

Tomar fotos con la camara y guardar en la sdcard

En este post realizaremos una aplicación android que hará uso de la cámara del celular para tomar una foto y guardarla e...

Comparte lo que sabes

Categorias

Últimas entradas

Una clase JTree permite mostrar datos de una forma jerárquica y en realidad este objeto no contiene sus datos; es decir,...

Los archivos digitales (txt, docx, xlsx, odt, odp, pdf, etc) nos permiten almacenar información el cual en ocasiones, de...

En este post crearemos un botón swing que reproducirá un sonido cuando este sea presionado por el usuario.  Sin mas que...

Muchas veces necesitamos de fotos para adornar nuestros perfiles en RRSS pero no queremos subir nuestras propias fotos p...

Herramientas

Generador de Enlaces a Whatsapp