Eche un vistazo a Overlay Types de GWT. Creo que esta es, de lejos, la forma más fácil de trabajar con JSON en GWT.Aquí está un ejemplo de código modificado del artículo enlazado:
public class Customer extends JavaScriptObject {
public final native String getFirstName() /*-{
return this.first_name;
}-*/;
public final native void setFirstName(String value) /*-{
this.first_name = value;
}-*/;
public final native String getLastName() /*-{
return this.last_name;
}-*/;
public final native void setLastName(String value) /*-{
this.last_name = value;
}-*/;
}
vez que tenga el tipo de superposición definida, es fácil crear un objeto JavaScript de JSON y acceder a sus propiedades en Java:
public static final native Customer buildCustomer(String json) /*-{
return eval('(' + json + ')');
}-*/;
Si quieren la representación JSON del objeto nuevo, se puede envolver el tipo de superposición en un JSONObject:
Customer customer = buildCustomer("{'Bart', 'Simpson'}");
customer.setFirstName("Lisa");
// Displays {"first_name":"Lisa","last_name":"Simpson"}
Window.alert(new JSONObject(customer).toString());
El problema es que Java usa una "interfaz inútil" para marcar los objetos como serializables. – Powerlord
Dudo que el Serializable esté conectado a JSON – amartynov
Compruebe http://restygwt.fusesource.org/documentation/restygwt-user-guide.html – itaifrenkel