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.

¿Fue útil?

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í.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top