2010-07-18 15 views
6

Google Web Toolkit tiene una biblioteca JSON (com.google.gwt.json.client). La parte 'cliente' de ese nombre me hace sospechar que no está destinado para ser utilizado en el servidor. El siguiente código en un método RPC del lado del servidor confirma mis sospechas:Creación de JSON en el servidor con Google Web Toolkit

System.out.println("attempting to make JSONArray"); 
JSONArray test = new JSONArray(); 
System.out.println("Made JSONArray"); 

Al arrojar una excepción ClassNotFound (JSONArray). Necesito construir algo del lado del servidor JSON.

1) ¿Estoy en lo cierto al creer que no puedo usar el paquete com.google.gwt.json.client en el servidor? 2) Si es así, ¿hay una buena alternativa con aproximadamente la misma interfaz que puedo usar para construir JSON en el servidor?

Estoy ejecutando mi aplicación en App Engine, en caso de que importe.

+0

posible duplicado de [serialización JSON <-> Java que funciona con GWT] (http://stackoverflow.com/questions/683123/json-java-serialization-that-works-with-gwt) –

Respuesta

3

1) ¿Estoy en lo cierto al creer que no puedo usar el paquete com.google.gwt.json.client en el servidor?

Correcto. Esa clase contiene muchos métodos JS nativos, como get(), y está destinada a ser compilada en JavaScript para ser utilizada en el lado del cliente.

En cuanto a 2), como ya has encontrado, la biblioteca que encontraste en json.org es buena, y también escuché cosas prometedoras sobre gson.

+0

1 de GSON .. .. –

1

Terminé usando la biblioteca de Java desde JSON.org:

http://www.json.org/java/

Parece compilar OK para App Engine. No estoy 100% seguro, pero estoy bastante seguro de que la biblioteca JSON incluida en GWT no se puede usar en el lado del servidor, lo cual es bastante extraño.

1

Una de las mejores opciones para usar es usar RestyGWT en el lado del cliente y Jackson en el lado del servidor. De esta forma obtienes un objeto transparente para el cálculo JSON.

Cuestiones relacionadas