2015-10-06 140 views
0

目前,我的代碼中出現了很多事件,其內容如下:result = new Gson().fromJson(someString, ResultContainer.class);我應該在所有這些地方共享GSON對象嗎?如果是這樣,每個對象或每個類的靜態(甚至可能是超類?)爲每個序列化實例化GSON的新實例?

我問的主要是因爲如果靜態共享引用很好,那麼爲什麼Gson對象不是靜態的呢?除非用戶使用奇怪的自定義序列化規則,否則上述方法幾乎涵蓋了希望Gson執行的操作。

+0

它不是單身人士,因爲你可以通過'GsonBuilder'對其進行不同的配置。請參閱[javadoc](https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/Gson.html#Gson())。 –

回答

1

按照GSON user guide

在調用的Json操作的GSON實例不保持任何狀態。因此,您可以自由地將多個Json序列化和反序列化操作重複使用同一個對象。

這不是單身人士,因爲您可以通過GsonBuilder以不同方式對其進行配置。

1

共享Gson是罰款。

您可以使用GsonBuilder配置Gson,因此Gson不是單身人士。

+0

這是我的經驗,它可以分享,但我看不到任何地方在文檔說,它是這樣的。你可以添加一個鏈接嗎? –

+0

啊,自己找到了;添加了我自己的答案。 –

+0

@AndyTurner Gson團隊應該明確地將用戶指南聲明放入Javadoc ... – wero