2013-05-30 54 views
2

是否有人知道轉換器從Gson轉換爲用於MongoDB的DBOjects,類似於https://code.google.com/p/mongo2gson/,但在另一個方向(即gson2mongo)?從Gson轉換到MongoDB對象

我的目標是將字符串(這是一個有效的JSONArray)轉換爲DBObject,以便我可以將它插入到Mongo數據庫中。似乎是將JSON對象爲DBOBJECT即

DBObject dbObject = (DBObject) JSON.parse("some json object string"); 

然而,這種方法不適用於JSONArrays工作,似乎沒有成爲一個簡單的替代方法的標準技術。我已經看到了一些適用於非常簡單的JSONArray的黑客,但沒有什麼可以用於更復雜的結構。 gson庫有一些非常有用的東西,並且在上面的鏈接中,這個問題已經在一個方向上解決了 - (它允許你從DBObjects轉換到JsonArrays),而不是其他方式。希望這個更清楚一點!

+0

您可以使用'DBObject dbo =(DBObject)JSON.parse(json);'將JSON字符串轉換爲DBObject。 – assylias

+0

嗨,謝謝你的快速反應!不幸的是,雖然可以將JSON對象轉換爲DBObjects,但Mongo無法處理JSONArray,(對不起 - 應該明確說明我正在使用gson,這樣我可以使用JSONArrays) –

+0

@Sam,這是很有用的信息。你介意更新一下你的問題 - 最好是用代碼片段,這樣我們可以更好地看到你想要做什麼? –

回答

0

我建議使用Jongo與MongoDB進行交互,因爲Gson只是一個JSON工具包。

您可以使用Jongo保存,查詢和更新POJO,這使得MongoDB幾乎可以滿足您的所有需求。

Gson可以用來將JSON編組爲POJO,反之亦然,但是當涉及到與MongoDB交互時,您可以自信地使用Jongo。

它們也可以混合使用,例如在Gson的幫助下將REST響應轉換爲POJO,然後使用Jongo將該信息寫入MongoDB。