在GWT中,将JavaScriptObject覆盖类型转换为JSON字符串的最佳方法是什么?
我目前有
public final String toJSON() {
return new JSONObject(this).toString();
}
这似乎工作得很好。我想知道是否有更好的方法。
答案 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可以使用参数来使用指定的缩进来打印输出......除其他外