我无法将对象从JSON转换为JavaScript Overlay对象,然后又回来了。我现在在课堂上有以下内容:

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

我能够创建和使用对象,但 obj.toJSON()返回 [object Object] 。如果没有手动转换回JSON,我似乎无法找到任何方法。

有帮助吗?

解决方案

  

this.toString();

实际上并不生成json代码。它打印对象的字符串表示。您将需要自定义代码来写出json,或者更好,使用库。

使用库的两种方法 - 使用gwt内置的json库。不是很好,但不需要编写jsni代码。或者,为您的模块xml添加脚本资源以用于库,例如 javascript json库,并使用在jsni。或者,找到另一个图书馆,那里有数百个。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top