GWT で、JavaScriptObject オーバーレイ タイプを JSON 文字列に変換する最良の方法は何ですか?
私は現在持っています
public final String toJSON() {
return new JSONObject(this).toString();
}
これはうまくいくようです。より良いアプローチがあれば知りたいです。
私は実際にそれを試したことはありません(これまでJSONを消費しただけで、生成する必要はありませんでした)。これは、ネイティブのブラウザ/JavaScript 機能のようです。
次のように記述できます。
public native String toJSON() /*-{
return this.toString();
}-*/;
これらは基本的にまったく同じことを行うだけで、同じ JavaScript 出力が得られる可能性があります。最適化コンパイラは本当に素晴らしいです。
そのような JSNI メソッドがありますが、douglas crockfords JSON ライブラリを使用します (ブラウザがネイティブに提供しない場合):
https://github.com/douglascrockford/JSON-js
public native String stringify() /*-{
return JSON.stringify();
}-*/;
素晴らしいのは、stringify がパラメーターを取り、指定されたインデントで出力をきれいに印刷できることです...とりわけ