GWT覆盖类型,转换为JSON

时间:2008-11-03 13:51:52

标签: json gwt

在GWT中,将JavaScriptObject覆盖类型转换为JSON字符串的最佳方法是什么?

我目前有

public final String toJSON() {      
    return new JSONObject(this).toString();
}

这似乎工作得很好。我想知道是否有更好的方法。

2 个答案:

答案 0 :(得分:4)

我从来没有真正尝试过(到目前为止只消耗了JSON,从不需要生成它)。这似乎是本机浏览器/ javascript功能。

可以将其写为:

public native String toJSON() /*-{
  return this.toString();
}-*/;

他们基本上只做同样的事情,并可能导致相同的JavaScript输出。优化编译器非常棒。

答案 1 :(得分:2)

我们有类似的JSNI方法,但是使用douglas crockfords JSON库(如果浏览器本身不提供一个):

https://github.com/douglascrockford/JSON-js

public native String stringify() /*-{
  return JSON.stringify();
}-*/;

最好的是stringify可以使用参数来使用指定的缩进来打印输出......除其他外