2012-10-11 46 views
0

我怎樣才能使這個更多的DAO對象可重用?如何輕鬆將我的POJO轉換爲JSON數據?

List<User> list = userService.getAll(); 

JSONObject json = new JSONObject(); 
JSONArray jsonArray = new JSONArray(); 

for(User user : list) { 
    JSONObject userJson = new JSONObject(); 
    userJson.put("id", user.getId()); 
    userJson.put("FirstName", user.getFirstName()); 
    .... 
    jsonArray.add(userJson); 
} 

json.put("results", jsonArray); 

return json.toJsonString(); 

無論如何,這是代碼從內存,但你明白了。必須有一個更簡單的方法。另外,我們並不總是想要返回POJO的每個屬性。在某些情況下,我們可能只希望FirstNameLastName和在其他國家,我們將增加PhoneNumber

感謝您的任何建議。

+4

使用JSON/POJO庫進行調查。我推薦[Jackson](http://jackson.codehaus.org/),但也有GSON和其他幾個。傑克遜_將允許您選擇性地序列化/反序列化某些領域,並根據情境進行。 – pb2q

+0

+1 [Jackson](http://wiki.fasterxml.com/JacksonHome) –

+0

+1對於http://jackson.codehaus.org/ – urir

回答

0

我會使用谷歌Gson
非常容易使用

0

您也可以嘗試Genson庫http://code.google.com/p/genson/

它有完整的數據綁定支持,但也是一個低級別的流API。 它易於使用,根據用戶反饋,它比Jackson更容易使用。 有一些功能是它唯一提供的功能,例如使用其構造函數對任何附加註釋進行反序列化。

要開始您可以看看wiki http://code.google.com/p/genson/wiki/GettingStarted它應該有助於快速啓動。

相關問題