Esta es la segunda entrega de Introducción a Json con Java y aquí veremos un ejemplo mas robusto y práctico de utilizar Java para generar objetos con la notación que nos exige Javascript osea JSON.

I: El requerimiento.

El webmaster del sitio del festival del viña nos pide la parrilla programática para incluirla en varias partes del sitio, como solución a su requerimiento nosotros le planteamos el uso de JSON.

Los detalles del requerimiento, es que la programación del festival debe estar separado por los dias y que pueda estar sujeto a cambios, por este motivo utilizaremos Java para crear los objetos JSON.

II: Creando las clases con JAVA

Necesitamos la clase Festival, Programa y Artista.

Clase Artista

public class Artista {

public String nombre;

public String categoria;

public Artista() {

}

public Artista(String nombre, String categoria) {

this.nombre = nombre;

this.categoria = categoria;

}

}

Clase Programa

public class Programa {

public String dia;

public List<Artista> artistas;

public Programa(){}

public Programa(String dia, List<Artista> artistas){

this.dia = dia;

this.artistas = artistas;

}

}

Clase Festival

public class Festival {

public String nombre;

public List<Programa> programacion;

public Festival(){

}

public Festival(String nombre, List<Programa> programacion){

this.nombre = nombre;

this.programacion = programacion;

}

}

III:Implementación

Luego que tenemos las clases, las instaciamos y llenamos la data manualmente. Cabe destacar que esto perfectamente puede ser extraido de una DB u otro source, pero consultas a DB no esta en el alcance de este documento.

public class Main {

//Creando Listas de artistas

public static void main(String[] args) {

//Creando Artistas

List<Artista> lunes = new ArrayList<Artista>();

List<Artista> martes = new ArrayList<Artista>();

List<Artista> miercoles = new ArrayList<Artista>();

List<Artista> jueves = new ArrayList<Artista>();

List<Artista> viernes = new ArrayList<Artista>();

List<Artista> sabado = new ArrayList<Artista>();

//Creando Programacion

List<Programa> programacion = new ArrayList<Programa>();

lunes.add(new Artista("J. Manuel Serrat", "Musico/Cantante"));

lunes.add(new Artista("Camila", "Musico/Cantante"));

lunes.add(new Artista("La Noche", "Musico/Cantante"));

programacion.add(new Programa("Lunes", lunes));

//Martes 24:

martes.add(new Artista("Juanes", "Musico/Cantante"));

martes.add(new Artista("Fernando Ubiergo", "Musico/Cantante"));

martes.add(new Artista("KC and the Sunshine Band", "Musico/Cantante"));

programacion.add(new Programa("Martes", martes));

//Miércoles 25:

miercoles.add(new Artista("Carlos Santana", "Musico/Cantante"));

miercoles.add(new Artista("Dinamita Show", "Musico/Cantante"));

miercoles.add(new Artista("Roger Hodgson", "Musico Cantante"));

programacion.add(new Programa("Miercoes", miercoles));

//Jueves 26:

jueves.add(new Artista("Simply Red", "Musico/Cantante"));

jueves.add(new Artista("Manpoval", "Musico/Cantante"));

jueves.add(new Artista("Paolo Meneguzzi", "Musico/Cantante"));

jueves.add(new Artista("R.K.M. Y KEN Y", "Musico/Cantante"));

programacion.add(new Programa("Jueves", jueves));

//Viernes 27:

viernes.add(new Artista("Luis Fonsi", "Musico/Cantante"));

viernes.add(new Artista("Daddy Yankee", "Musico/Cantante"));

programacion.add(new Programa("Vienres", viernes));

//Sábado 28:

sabado.add(new Artista("Natalino", "Musico/Cantante"));

sabado.add(new Artista("Marc Anthony", "Musico/Cantante"));

programacion.add(new Programa("Sabado", sabado));

//Ya con todos los datos, creamos el Festival de viña :P

Festival festival2009 = new Festival("Viña 2009 50 años", programacion);

}

}

Finalmente convertimos nuestro objeto festival2009 a JSON

<span style="white-space:pre"> </span> Gson gson = new Gson();

String jsonOutput = gson.toJson(festival2009);

System.out.println("txt: "+jsonOutput);

El output generado por google queda de la siguiente manera

{

"nombre": "Viña 2009 50 años",

"programacion": [

{

"dia": "Lunes",

"artistas": [

{

Page 1 of 3 | Next page