Frage

Ich habe Probleme, ein Objekt aus JSON in ein JavaScript-Overlay-Objekt und wieder zurück zu konvertieren. Ich habe in der Klasse die folgenden jetzt:

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

Ich bin in der Lage mit Objekten zu erstellen und arbeiten, aber die obj.toJSON() kehrt [object Object]. Ich kann mich nicht um diese scheinen jede mögliche Weise zu finden, ohne eine manuelle convert zurück in JSON zu tun.

War es hilfreich?

Lösung

  

this.toString ();

tut eigentlich json Code erzeugen. Er druckt das String-Darstellung des Objekts. Sie werden entweder benutzerdefinierten Code benötigen die json zu schreiben, oder besser, eine Bibliothek verwenden.

Zwei Möglichkeiten Bibliotheken zu verwenden - GWT in json Bibliotheken gebaut verwenden. Nicht so schön, aber nicht brauchen JSNI Code zu schreiben. Oder fügen Sie ein Skript-Ressource zu Ihrem Modul XML für eine Bibliothek wie ein javascript json Bibliothek hier und Nutzung dass in JSNI. Oder eine andere Bibliothek finden, gibt es buchstäblich Hunderte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top