jueves, 17 de diciembre de 2009

Json y JAVA

Bienvenidos el ejemplo es para ilustrar el intercambio de datos entre un servidor de JAVA con un XHTML, algo que podemos hacer de diversas maneras pero en este caso nos toca ver con JSON, para este tutorial nos vamos a basar el una libreria util que lo podemos descargar en

gson-1.4.jar

es una libreria de google llamada GSON

Muy bien empezamos:
1) Primero vamos a crear una clase a serializar:


public class ComboBean {
private String name;
private String desc;
private String logo;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public String getLogo() {
return logo;
}
public void setLogo(String logo) {
this.logo = logo;
}
}

2)Debemos añadir el jar descargado a nuestro proyecto ,no difiere mucho del IDE a usar en mi caso Eclipse lo unico que se debe hacer es localizar la carpeta lib y pegarla ahi o entrar a Porperties/JAVA Build Path y agregar el JAR GSON

3) instanciarlo y mostrar la informacion a enviar del servidor a nuestra aplicacion.

public ActionForward combodata(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception { /* olvidense de esto por si no conocen (struts 1.0)*/

List datos = new ArrayList();
ComboBean combo=null; // Creamos un objeto a la clse a serializar
combo=new ComboBean(); // lo Inicializamos
combo.setName("MySQL");// agregamos datos
combo.setDesc("BD 1");
combo.setLogo("mysql.png");
datos.add(combo); // anadimos el objeto creado a la clase List
combo=new ComboBean(); // repetimos lo mismo
combo.setName("PostgreSQL");
combo.setDesc("BD 2");
combo.setLogo("postgresql.png");
datos.add(combo);
combo=new ComboBean();
combo.setName("Oracle");
combo.setDesc("BD 3");
combo.setLogo("oracle.png");
datos.add(combo);

Gson gson=new Gson(); // creamos un objeto a hacia la clase Gson
String jsonOutput = gson.toJson(datos);

System.out.println(jsonOutput); // se mostrara la data en formato json

response.setContentType("text/json"); /* con esto enviamos la informacion obtenida nuestra apliacion formato json*/
PrintWriter out=response.getWriter();
out.write(jsonOutput);
out.flush();
out.close();
/* */
return mapping.findForward(null);

}

Invocamos desde muestra aplicacion y obtendremos el formato json.

[{"name":"MySQL","desc":"BD 1","logo":"mysql.png"},{"name":"PostgreSQL","desc":"BD 2","logo":"postgresql.png"},{"name":"Oracle","desc":"BD 3","logo":"oracle.png"}]

4) Eso es todo y ola se muestra la informacion en formato Json .es muy pratico la libreria para mayor informacion

google-gson/

Espero muy pronto hacer un ejemplo en JAVA o .NET de la usabilidad de JSON sugieran que ejemplo quisieran pueden ser usando jqgrid ,ext-js

Bienvenido a RINCON de MARB


Ante todo a mi lectores mi mas cordiales saludos , no soy muy fanatico de dedicarles horas de horas a Tecnologia WEB 2.0 que contradiccion ya que actualmente el rumbo hacia el cual esta encaminada mi carrera de Ing de Sistema es Analisis y Desarrrollo de Sistemas de Informacion pero bueno ahi le va mis conocimientos espero los sepan aprovechar.



El hombre no es sino lo que sabe. (Francis Bacon)