我在scala-salat Google組中提出了這個問題,但在那裏沒有任何反應,因此嘗試了這裏。薩拉特並非反序列化映射到選項的集合[集合[A]]
我有一個案例類,它有一個收集包裹在Option
。
case class SomeClass(
var name:Option[String]=None,
var addresses:Option[Set[Address]]=None
)
case class Address(
var street:Option[String]=None,
var zip:Option[String]=None
)
該文件存儲在Mongo中就好了。但是,當我嘗試使用findOne
(帶有或不帶有SalatDAO
)時,地址字段具有表示地址的JSON文本,而不是地址大小寫類。
因此,Lift-JSON會跳過我的case類中的任何字段,其中包含Option[Collection[A]]
。當我刪除Option
,並只與addresses=Set[Address]()
,它的工作。然而,現在我最終在我的JSON中沒有數據的空集,並且如果消費者刪除了條目,我無法找到更新,或者我得到空的Set
,因爲消費者沒有發送該字段在原始請求中。
使用Option
會將字段設置爲None
,這意味着我不必擔心它是空的還是修改的。
任何幫助將不勝感激。
THX加盟:) – AndreasScheinert
當它可以支持任何想法?我真的不想回去使用Morphia :( – lobster1234