我在 scala-salat Google group 中问了这个问题,但几天没有回复,因此在这里尝试。
我有一个案例类,其中包含一个包含在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
)来获取此地址时,addresses 字段具有表示地址的 JSON 文本,而不是 Address 案例类。
结果,Lift-JSON 跳过了我的案例类Option[Collection[A]]
中的任何字段。当我删除Option
并使用时addresses=Set[Address]()
,它可以工作。但是,现在我的 JSON 中没有数据的结果是空集,如果消费者删除了条目,我无法找到更新,或者我得到一个空集Set
,因为消费者没有发送这个字段原始请求。
使用Option
会将字段设置为None
,这意味着我不必担心它是空的或被修改。
任何帮助将不胜感激。