【发布时间】:2015-03-17 03:27:03
【问题描述】:
这里是spray-json example。这是NullOptions 特征。
问题是当我声明一个案例类时说
object MyJsonProtocol extends DefaultJsonProtocol {
implicit val some: RootJsonFormat[Some] = jsonFormat2(Some)
}
case class Some (
name:String,
age:Int
)
而json不包含字段例如:
{
"name":"John"
}
我得到:java.util.NoSuchElementException: key not found: age
所以我必须像这样添加 Option 和 NullOption 特征:
object MyJsonProtocol extends DefaultJsonProtocol with NullOptions {
implicit val some: RootJsonFormat[Some] = jsonFormat2(Some)
}
case class Some (
name:String,
age:Option[Int]
)
一切正常。但我不想有一个所有成员都是Option 的案例类。有没有办法将喷雾 json 解组配置为只设置空值而无需额外的 Option 类型?
附言
我知道通常Option 比空检查更好,但在我的情况下它只是猴子代码。
在响应处理期间编组的完整示例是here
【问题讨论】:
标签: json scala spray spray-json