Domanda

Ho problemi a convertire un oggetto da JSON in un oggetto JavaScript Overlay e viceversa. Ora ho in classe quanto segue:

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

Sono in grado di creare e lavorare con oggetti, ma obj.toJSON () restituisce [oggetto Object] . Non riesco a trovare un modo per aggirare questo senza fare una conversione manuale in JSON.

È stato utile?

Soluzione

  

this.toString ();

in realtà non produce codice json. Stampa la rappresentazione di stringa dell'oggetto. Sarà necessario un codice personalizzato per scrivere il json o, meglio, utilizzare una libreria.

Due modi per usare le librerie: usa le librerie json integrate di gwt. Non è così bello, ma non è necessario scrivere il codice jsni. In alternativa, aggiungi una risorsa di script al tuo xml del modulo per una libreria come una libreria json JavaScript qui , e usa quello in jsni. Oppure, trova un'altra biblioteca, ce ne sono letteralmente centinaia là fuori.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top