8

GWT で、JavaScriptObject オーバーレイ タイプを JSON 文字列に変換する最良の方法は何ですか?

私は現在持っています

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

これはうまくいくようです。より良いアプローチがあれば知りたいです。

4

2 に答える 2

4

私は実際にそれを試したことはありません(これまでJSONを消費しただけで、生成する必要はありませんでした)。これは、ネイティブのブラウザ/JavaScript 機能のようです。

次のように記述できます。

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

これらは基本的にまったく同じことを行うだけで、同じ JavaScript 出力が得られる可能性があります。最適化コンパイラは本当に素晴らしいです。

于 2008-12-01T20:59:45.517 に答える
2

そのような JSNI メソッドがありますが、douglas crockfords JSON ライブラリを使用します (ブラウザがネイティブに提供しない場合):

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

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

素晴らしいのは、stringify がパラメーターを取り、指定されたインデントで出力をきれいに印刷できることです...とりわけ

于 2011-08-18T14:44:43.090 に答える