Buscar
Social
Ofertas laborales ES
« Mapear objetos Java a XML y viceversa usando JAXB2 | Main | Nuevas APIs para las Blackberry »
jueves
mar292007

GWT Jsonizer: mapeo JSON/Java Beans en GWT

GWT Jsonizer es un API que he desarrollado para Juglar.org, que permite transformar objetos JSON en Java Beans dentro del entorno del Google Web Toolkit. Este API permite intercambio fluido con diferentes tecnologías en el servidor, ya que exísten APIs de JSON para Java, PHP, Python, Ruby, C/C++, etc.. Si bien GWT provee un API estándar de JSON, la misma es muy compleja de manipular, ya que está diseñada para objetos JSON genéricos. En cambio, dada la naturaleza de los Java Beans, es muy sencillo comprender el uso del GWT Jsonizer. Por ejemplo, si tenemos una clase Persona ...





class Persona{



private String nombre;

...

public String getNombre(){...}

public void setNombre(String nombre){...}



private String apellido;

...

public String getApellido(){...}

public void setApellido(String apellido){...}



}







... debemos definir una interface PersonaJsonizer que extienda la interfaz org.juglar.gwt.jsonizer.client.Jsonizer...





interface PersonaJsonizer extends Jsonizer{}





... y luego, simplemente, instanciamos la interface con el metodo create de la clase GWT...





...

// instanciamos el jsonizer

PersonaJsonizer jsonizer = (PersonaJsonizer)GWT.create(PersonaJsonizer.class);

String json = "{'nombre':'Andres', 'apellido':'Testi'}";



// traducimos el string json hacia una clase persona

try{

Persona p = (Persona)JsonizerParser.parse(jsonizer, json);

}catch(JsonizerException e){

Window.alert("Existio un error de conversion!!!");

}

...





El proyecto tiene licencia Apache V2.0. Por ahora no está muy documentado, pero es simple seguir el ejemplo incluido con la distribución. Proximamente, el proyecto estará también disponible en Sourceforge.net



¿Alguien que esté trabajando con GWT esperaba un API como este para trabajar con diferentes tecnologías de servidor?

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.
Comentarios deshabilitados
Comentarios deshabilitados en esta noticia.