2008-11-03 82 views
8

在GWT中,將JavaScriptObject覆蓋類型轉換爲JSON字符串的最佳方法是什麼?GWT覆蓋類型,轉換爲JSON

我現在有

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

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

+0

除了使用另一個庫來做到這一點,這是最好的方法。它確實要求您將添加到您的GWT模塊 – 2013-05-10 17:19:50

回答

4

我從來沒有真正嘗試過(只消耗JSON到目前爲止,從來沒有需要產生它)。這似乎是原生瀏覽器/ JavaScript功能。

可以寫爲:

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

他們基本上只是做同樣的事情,有可能導致相同的JavaScript輸出。優化編譯器真的很棒。

+3

這是否工作正常?我在疊加類型中實現了它,並且它返回[object Object]。任何幫助表示讚賞,謝謝。 – Eugen 2011-06-03 10:26:18

2

我們有JSNI方式類似,但使用道格拉斯康樂福JSON庫(如果瀏覽器不提供一個原生):

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

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

什麼好的是字符串化可以採取參數漂亮打印輸出與指定的縮進...除其他事項外