Convertir JavaScript Overlays de nuevo a JSON?
-
03-07-2019 - |
Pregunta
Tengo problemas para convertir un objeto de JSON en un objeto Overlay de JavaScript y viceversa. Tengo lo siguiente en la clase ahora:
public class Aff extends JavaScriptObject {
protected Aff() {};
public static native Aff fromJSONString(String jsonString) /*-{
return eval('(' + jsonString + ')');
}-*/;
public final native String toJSON() /*-{
return this.toString();
}-*/;
// followed by get/seters and a bunch of TODO.
}
Puedo crear y trabajar con objetos, pero obj.toJSON ()
devuelve [objeto Objeto]
. Parece que no puedo encontrar ninguna forma de evitar esto sin hacer una conversión manual a JSON.
Solución
this.toString ();
en realidad no produce código json. Imprime la representación de cadena del objeto. Necesitará un código personalizado para escribir el json, o mejor, usar una biblioteca.
Dos formas de usar bibliotecas: use las bibliotecas json integradas de gwt. No es tan agradable, pero no necesita escribir código jsni. O bien, agregue un recurso de secuencia de comandos a su módulo xml para una biblioteca como una biblioteca javascript json aquí , y use eso en jsni. O, busque otra biblioteca, hay literalmente cientos por ahí.