2015-04-01 24 views
1

我正在從客戶端接收JSON圖形(有效內容),因此在web api中我得到一個JsValue。我只是想採取這一點,用幾個字段裝飾它,並將其存儲在Mongo中。事情是這樣的:將玩框架JsValue轉換爲MongoDBObject的有效方法

case class Plan(_id: ObjectId, name: String, payload: JsValue) 

{ 
    "_id" = 12345, 
    "name" : "test model", 
    "payload" : {a JSON graph} 
} 

從JsValue數據庫...

builder += "payload" -> JSON.parse(Json.stringify(model.payload)) 

從數據庫返回到JsValue ...

payload = Json.parse(dbo.as[MongoDBList]("payload").toString)) 

雖然它的工作原理,從JsValue去 - >字符串 - > MongoDBObject,我有兩個有效的類型對象,我必須使用無類型的中間格式從一個到另一個。

+0

非常相關,但最終與您在同一地點:http://stackoverflow.com/questions/11987071/how-to-convert-casbah-mongodb-list-to-json-in-scala-play – 2015-04-01 15:49:41

回答

0

如果您只是想將圖形存儲爲字符串「有效載荷」,那麼當然可以這樣做。

您可能要考慮使用ReactiveMongo而不是Casbah,以及Play-ReactiveMongo,它提供了直接到JSON的功能。我沒有使用Play-ReactiveMongo。

相關問題